Divisors in Residue Classes Revisited
In 1984, H. W. Lenstra described an algorithm finding divisors of $N$ congruent to $r \mod S$. When $S^3 > N$, this algorithm runs in polynomial time and hence factors $N$ in time $N^{1/3+o(1)}$. Lenstra's algorithm relies on a sign change in a constructed sequence and so cannot be adapted directly to larger euclidean number rings. We present a new method that generalizes to a larger class of euclidean rings and the polynomial ring $\mathbb{Z}[x]$. The algorithm is implemented and timed confirming its polynomial run time.