%I #17 Jul 10 2021 16:22:21
%S 1,6,288,24444,2738592,361998432,53414223552,8525232846072,
%T 1443209364298944,255769050813120576,47020653859202576640,
%U 8907614785269428079168,1730208409741026141405696,343266632435192859791576064,69350551439109880798294334208
%N Number of walks of length 4n in the first octant using steps (1,1,1), (-1,0,0), (0,-1,0), and (0,0,-1) that start and end at the origin.
%C There are no such walks with length that is not a multiple of 4.
%C a(n) is also the number of arrangements of n copies each of "a", "b", "c", and "d" such that no prefix has more b's, c's, or d's than a's.
%C The analogous problem in dimensions 1 and 2 are given respectively by A000108 (the Catalan numbers) and A006335.
%C No closed form is known. In fact, it is not known whether this sequence is D-finite (see Bacher et al.).
%H Alois P. Heinz, <a href="/A340540/b340540.txt">Table of n, a(n) for n = 0..150</a>
%H Axel Bacher, Manuel Kauers, and Rika Yatchak, <a href="https://arxiv.org/abs/1511.05763">Continued Classification of 3D Lattice Walks in the Positive Octant</a>, arXiv:1511.05763 [math.CO], 2015.
%p b:= proc(n, l) option remember; `if`(n=0, 1, `if`(add(i, i=l)+3<n,
%p b(n-1, map(x-> x+1, l)), 0) +add(`if`(l[i]>0,
%p b(n-1, sort(subsop(i=l[i]-1, l))), 0), i=1..3))
%p end:
%p a:= n-> b(4*n, [0$3]):
%p seq(a(n), n=0..15); # _Alois P. Heinz_, Jan 12 2021
%t b[n_, l_] := b[n, l] = If[n == 0, 1, If[Total[l] + 3 < n,
%t b[n-1, l+1]], 0] + Sum[If[l[[i]] > 0,
%t b[n-1, Sort[ReplacePart[l, i -> l[[i]]-1]]], 0], {i, 1, 3}] /. Null -> 0;
%t a[n_] := b[4n, {0, 0, 0}];
%t Table[a[n], {n, 0, 15}] (* _Jean-François Alcover_, Jul 10 2021, after _Alois P. Heinz_ *)
%o (Python)
%o import itertools as it
%o i = 0
%o while 1:
%o counts = {(a,b,c):0 for a,b,c in it.product(range(i+1), repeat=3)}
%o counts[0,0,0] = 1
%o for _ in range(4*i):
%o update = {(a,b,c):0 for a,b,c in it.product(range(i+1), repeat=3)}
%o for x,y,z in counts:
%o if counts[x,y,z] != 0:
%o for coord in [(x+1,y+1,z+1), (x-1,y,z), (x,y-1,z), (x,y,z-1)]:
%o if coord in update:
%o update[coord] += counts[x,y,z]
%o counts = update
%o print(i, counts[0,0,0])
%o i += 1
%Y Cf. A000108, A006335, A149424.
%Y Column k=3 of A340591.
%K nonn,walk
%O 0,2
%A _Daniel Carter_, Jan 10 2021