Personally, I love finding solutions to problems that are new to me. I will work for 20 hours straight on a coding problem, but once I actually solve the problem I lose all interest. If, in the course of finding the solution, I didn't fully implement it, there's a solid chance that if I'm not given a deadline for finishing that implementation it will never be done; I'll have already moved on to the next interesting puzzle.