When I am working on a problem, I never think about beauty. I think only of how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong.
In programming, the hard part isn't solving problems, but deciding what problems to solve.