OFFSET
10,3
LINKS
Alois P. Heinz, Table of n, a(n) for n = 10..1000
Wikipedia, Counting lattice paths
MAPLE
b:= proc(n, k, j) option remember; `if`(j=n, 1, add(
b(n-j, k, i)*add(binomial(i, m)*binomial(j-1, i-1-m),
m=max(0, i-j)..min(k, i-1)), i=1..min(j+k, n-j)))
end:
g:= proc(n, k) option remember; add(b(n, k, j), j=1..k) end:
a:= n-> g(n, 10)-g(n, 9):
seq(a(n), n=10..35);
MATHEMATICA
b[n_, k_, j_]:=b[n, k, j]=If[j==n, 1, Sum[b[n - j, k, i] Sum[Binomial[i, m] Binomial[j - 1, i - 1 - m], {m, Max[0, i - j], Min[k, i - 1]}], {i, Min[j + k, n - j]}]]; g[n_, k_]:=Sum[b[n, k, j], {j, k}]; Table[g[n, 10] - g[n, 9], {n, 10, 35}] (* Indranil Ghosh, Aug 08 2017 *)
PROG
(Python)
from sympy.core.cache import cacheit
from sympy import binomial
@cacheit
def b(n, k, j): return 1 if j==n else sum([b(n - j, k, i)*sum([binomial(i, m)*binomial(j - 1, i - 1 - m) for m in range(max(0, i - j), min(k, i - 1) + 1)]) for i in range(1, min(j + k, n - j) + 1)])
def g(n, k): return sum([b(n, k, j) for j in range(1, k + 1)])
def a(n): return g(n, 10) - g(n, 9)
print([a(n) for n in range(10, 36)]) # Indranil Ghosh, Aug 08 2017
CROSSREFS
KEYWORD
nonn
AUTHOR
Alois P. Heinz, Jun 14 2017
STATUS
approved