my solution to problems from http://projecteuler.net/