solutions to the problems on www.projecteuler.net