OFFSET
0,8
FORMULA
EXAMPLE
Seen as a triangle, T(n, k) = A(n-k, k), for k = 0..n:
[0] 1;
[1] 0, 1;
[2] 0, 1, 1;
[3] 0, 3, 3, 1;
[4] 0, 15, 18, 6, 1;
[5] 0, 111, 165, 60, 10, 1;
[6] 0, 1161, 2106, 855, 150, 15, 1;
[7] 0, 16623, 35532, 16191, 3045, 315, 21, 1;
.
Array starts:
[0] 1, 1, 1, 1, 1, 1, ... A000012
[1] 0, 1, 3, 6, 10, 15, ... A000217
[2] 0, 3, 18, 60, 150, 315, ... A006011
[3] 0, 15, 165, 855, 3045, 8610, ... A399341
[4] 0, 111, 2106, 16191, 79296, 293706, ...
[5] 0, 1161, 35532, 390348, 2558304, 12150810, ...
[6] 0, 16623, 765252, 11629980, 99734220, 596919510, ...
MAPLE
A1 := proc(m) option remember; local i; if m = 0 then 1 else add(i! * A(m-i, i), i = 1..m) fi end:
A := proc(n, k) option remember; local i; if n < 0 or k < 0 then 0 elif n = 0 then 1 elif k = 0 then 0 elif k = 1 then A1(n) else add(A(n-i, k-1) * A1(i) * binomial(n+k, i+1) * binomial(n, i), i = 0..n) / k fi end: seq(lprint(seq(A(n, k), k = 0..5)), n = 0..6);
PROG
(Python)
from math import comb, factorial
from functools import cache
@cache
def A1(m: int) -> int:
if m == 0: return 1
return sum(factorial(i) * A(m - i, i) for i in range(1, m + 1))
@cache
def A(n: int, k: int) -> int:
if n < 0 or k < 0: return 0
elif n == 0: return 1
elif k == 0: return 0
elif k == 1: return A1(n)
total = sum(A(n - i, k - 1) * A1(i) * comb(n + k, i + 1) * comb(n, i)
for i in range(0, n + 1))
return total // k
for n in range(7):
row = [A(n, k) for k in range(10)]; print(row)
CROSSREFS
KEYWORD
AUTHOR
Peter Luschny, Sep 03 2026
STATUS
approved