solved Problem 41, runs a bit slow but well under a minute, need a better sieve implementation (sieve should be efficient for under primes < 10 million, but this one is not)