http://projecteuler.net/ problems for fun