In my opinion, first step to solve problems are defining problem into basic. You will think so many reasons of the best answer, but it will not only one way to fight it out or understand more clearly.
So, you should break some problem down into the parts and think in positive restate the problem as a challenge.
Second step is doing some brainstorm thinks very carefully.
Next step, review your idea so far which one explore the possibilities some solutions may not be possible.
The last one, select the best solution or pick a best decision.