\\ mask of values seen on rows/columns/diagonals row = vector(2000) col = vector(#row) dia = vector(2*#row-1) { for (a=1, #row, ant = 0; \\ mask of values seen on this antidiagonal for (c=1, a, r = a-c+1; d = #row - r + c; x = bitor(bitor(row[r],col[c]),bitor(dia[d],ant)); v = valuation(1+x,2); m = 2^v; row[r] += m; col[c] += m; dia[d] += m; ant += m; ); print (a-1 " " v); ); } quit