Solutions to problems from http://projecteuler.net/