project euler: problem #2 solution