solutions for projecteuler.net