seen = 0 unseen = 2 T = matrix(100,100) compute(r,c) = { if (r>1 && c>1, my (square = T[r-1,c-1] + T[r-1,c] + T[r,c-1]); for prime(p=max(square, unseen), oo, if (!bit test(seen, p), T[r,c] = p-square; seen += 2^p; while (bit test(seen, unseen), unseen = next prime(1+unseen); ); break; ); ); ); } { for (d=1, #T, for (c=1, d, r = d+1-c; compute(r,c); print (k++ " " T[r,c]); ); ); } quit