algorithmic number theory