|
MAPLE
|
Rows:= [seq(seq(seq(seq([w, x, y, z], z=max(y-2, 0)..min(y+2, 5)), y=max(x-2, 0)..min(x+2, 5)), x=max(w-2, 0)..min(w+2, 5)), w=0..5)]:
nrows:= nops(Rows):
filter:= proc(x) local i, j; add(add((x[i]-x[j])^2, i=j+1..4), j=1..3)=11 end proc:
T:= Matrix(nrows, nrows, proc(i, j) local k; if andmap(filter, [seq([Rows[i][k], Rows[i][k+1], Rows[j][k], Rows[j][k+1]], k=1..3)]) then 1 else 0 fi end proc):
U[0]:= Vector(nrows, 1):
for j from 1 to 30 do U[j]:= T . U[j-1] od:
seq(add(U[n][i], i=1..nrows), n=1..30); # Robert Israel, Jul 30 2019
|