I don’t know if it is the best technique for solving problems, but one of my favorite tools is trial and error. Now I don’t mean that I try every conceivable combination to see what works, but I also don’t go to the effort to create a full logical proof before implementing a solution.
I think that sweet spot is the key to this technique working. You have to understand enough of the mechanics of the problem to be able to try a solution that is at least close to the right one. If you don’t understand those mechanics then the solution will be too far away to provide you any clues on how to get closer. You’ll be stuck far away from the solution. But at the same time, those trials could teach you more about the mechanics and move you closer to the solution.
If you work through the full logical proof then you are spending a lot of time on things that the human mind isn’t very good at and that computers are very good at. Things like looping and iterating – after all, if it was a problem with a solution that is simple for the human mind to understand then you would have just solved the problem without any trial and error.
So here’s my advice about solving problems: learn as much as you can about the problem, then try something to see if it works and repeat.