is(n) = { my (d=digits(n)); for (k=1, #d, if (d[k] != (n*k)%10, return (0))); return (1) } vv = [0] nb = 1 { for (d=1, 9, v = 0; for (k=1, 300, v = 10*v + (d*k)%10; if (is(v), if (nb++>#vv, vv=concat(vv, vector(#vv)); ); vv[nb] = v; ); ); ); apply (v -> print (n++ " " v), Set(vv[1..nb])); } quit