problems from http://projecteuler.net/