euler project: http://projecteuler.net/