Let P(n) denote the largest prime divisor of n, and let (x, y) be the number of integers n x with P(n) y. In this paper we present improvements to Bernstein's algorithm, which finds rigorous upper and lower bounds for (x, y). Bernstein's original algorithm runs in time roughly linear in y. Our first, easy improvement runs in time roughly y2/3 . Then, assuming the Riemann Hypothesis, we show how to drastically improve this. In particular, if log y is a fractional power of log x, which is true in applications to factoring and cryptography, then our new algorithm has a running time that is polynomial in log y, and gives bounds as tight as, and often tighter than, Bernstein's algorithm.
Scott T. Parsell, Jonathan Sorenson