Problem set from http://projecteuler.net/