login
Triangle read by rows: T(n, k) = n^(n - k) * hypergeom([k, k-n], [], -1/n) for n > 0, T(0, 0) = 1.
1

%I #11 Apr 08 2026 10:35:26

%S 1,1,1,4,3,1,27,17,5,1,256,142,38,7,1,3125,1569,389,67,9,1,46656,

%T 21576,5016,816,104,11,1,823543,355081,78077,12085,1471,149,13,1,

%U 16777216,6805296,1424560,210968,24648,2402,202,15,1,387420489,148869153,29818917,4243743,477789,44961,3657,263,17,1

%N Triangle read by rows: T(n, k) = n^(n - k) * hypergeom([k, k-n], [], -1/n) for n > 0, T(0, 0) = 1.

%F From _Peter Luschny_, Apr 08 2026: (Start)

%F T(n, k) = (2*k + 1)*T(n, k+1) + (k+1)*(n - k - 1)*T(n, k+2).

%F Let egf(x, y) = exp(x * (1 + y) * exp(y / (1 + y))) / (1 + y), then

%F T(n, k) = n! * (n-k)! * [x^n * y^(n-k)] egf(x, y). (End)

%e Triangle starts:

%e [0] 1;

%e [1] 1, 1;

%e [2] 4, 3, 1;

%e [3] 27, 17, 5, 1;

%e [4] 256, 142, 38, 7, 1;

%e [5] 3125, 1569, 389, 67, 9, 1;

%e [6] 46656, 21576, 5016, 816, 104, 11, 1;

%e [7] 823543, 355081, 78077, 12085, 1471, 149, 13, 1;

%e [8] 16777216, 6805296, 1424560, 210968, 24648, 2402, 202, 15, 1;

%p T := (n, k) -> ifelse(n = 0, 1, hypergeom([k, k - n], [], -1/n) * n^(n - k)):

%p for n from 0 to 9 do seq(simplify(T(n, k)), k = 0..n) od;

%p # Alternative:

%p T := proc(n, k) option remember;

%p if k = n then return 1 fi;

%p if k > n or n < 0 or k < 0 then return 0 fi;

%p (2*k + 1)*T(n, k+1) + (k+1)*(n - k - 1)*T(n, k+2) end:

%p for n from 0 to 8 do seq(T(n, k), k = 0..n) od;

%p # Alternative:

%p egf := exp(x * (1 + y) * exp(y / (1 + y))) / (1 + y):

%p T := proc(n, k) local row, M; M := n - k;

%p row := n! * coeff(series(egf, x, n + 1), x, n);

%p return M! * coeff(series(row, y, M + 1), y, M);

%p end:

%p for n from 0 to 8 do seq(T(n, k), k = 0..n) od;

%t T[0, 0] = 1; T[n_, m_] = n^(n - m) HypergeometricPFQ[{m - n, m}, {}, -n^(-1)]

%t Table[T[n, m], {n, 0, 8}, {m, 0, n}] // MatrixForm

%o (Python)

%o def A394824row(n) -> list[int]:

%o row = [0] * (n + 1); row[n] = 1

%o for k in range(n, 0, -1):

%o row[k - 1] = (2 * k - 1) * row[k] + k * (n - k) * (row[k + 1] if k + 1 <= n else 0)

%o return row

%o for n in range(0, 9): print(A394824row(n)) # _Peter Luschny_, Apr 08 2026

%Y Cf. A000312 (column 0), A001865 (column 1).

%K nonn,tabl

%O 0,4

%A _Peter Luschny_, Apr 03 2026