OFFSET
0,3
COMMENTS
The left diagonals form polynomial sequences. This is due to the observation that diagonal 0 D_0(x) = 1, and D_n(x) = D_n(x-1)+D_(n-1)(x+1), with D_n(-1) = 1 which is a recurrence that can be solved.
These polynomials begin 1, x+2, (x(x+7)+8)/2, (x(x(x+15)+62)+54)/6, (x(x(x(x+26)+227)+730)+552)/24, etc., the first 3 of which correspond to A000012(n), A000027(n+2), and A034856(n+2), respectively.
The rightmost diagonal appears to follow A014137(n). The second rightmost appears to follow A014138(n+1), the third appears to follow A001453(n+2), the fourth appears to follow A114277(n), and the fifth appears to follow A143955(n+3).
A closed-form formula for T(n,k) would be very desirable.
LINKS
Ely Golden, Rows n = 0..124 of triangle, flattened
Ely Golden, Java program for generating the triangle
EXAMPLE
First 7 rows:
1;
1, 2;
1, 3, 4;
1, 4, 8, 9;
1, 5, 13, 22, 23;
1, 6, 19, 41, 64, 65;
1, 7, 26, 67, 131, 196, 197;
MATHEMATICA
T[0, 0] = 1; T[n_, k_] := T[n, k] = Which[k == 0, 1, k == n, T[n, n - 1] + 1, True, T[n, k - 1] + T[n - 1, k]]; Table[T[n, k], {n, 0, 11}, {k, 0, n}] // Flatten (* Michael De Vlieger, Feb 27 2017 *)
PROG
(SageMath)
def sideTriangleAt(a, b):
if(b==0): return 1
elif(b==a): return sideTriangleAt(a, b-1)+1
else: return sideTriangleAt(a, b-1)+sideTriangleAt(a-1, b)
def sideTriangle(size):
li=[]
for c in range(size):
for d in range(c+1):
if(d==0): li.append([1])
elif(d==c): li[c].append(li[c][d-1]+1)
else: li[c].append(li[c][d-1]+li[c-1][d])
return li
trig=sideTriangle(125)
for c in range(len(trig)):
print(str(trig[c])[1:-1].replace(", ", ""))
(PARI) T(n, k)=if(k==0, return(1)); if(k==n, return(T(n, n-1)+1)); T(n, k-1)+T(n-1, k)
for(n=0, 10, for(k=0, n, print1(T(n, k), ", "))) \\ Derek Orr, Feb 28 2017
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Ely Golden, Feb 27 2017
STATUS
approved