working through problems from http://projecteuler.net/