I've been collecting/ cleaning up/ posting my solutions to Project Euler problems as of late. I urge programmers out there to really try to solve these problems before downloading my solutions, but that is your choice.
The best example was problem 67, which required finding the maximum sum path down a 100 row triangle. Impossible to brute force since it has 299 different paths. Months I thought about that problem. Months! I was literally taking a shower when the strategy as to how to solve the problem in under a minute came to me. Excitedly I dried off, ran to my dorm room, and started sketching out the flowchart.