project euler: problem solver