solutions to problems in projecteuler.net