project euler problem #5 solved