s = 0
unseen = 1
seen(v) = bittest(s, v)
see(v) = s = bitor(s, 2^v); while (seen(unseen), unseen++)

{
	see(0);	\\ only positive terms
	v = 1;
	n = 0;
	forprime (p = 2, oo,
		see(v);
		forstep (c = (unseen\p)*p + v%p, oo, p,
			if (!seen(c),
				d = (c - v) / p;
				v = c;

				print (n++ " " d);
				if (n==10 000,
					break (2);
				);

				break;
			);
		);
	);
}

quit