Pollard rho algorithm