The magic lies in defining the real problem. What we call a solution is a mere back and forth between abstraction and concretisation of knowledge surrounding a problem/observation.<p>See: <a href="https://en.wikipedia.org/wiki/Inductive_reasoning" rel="nofollow">https://en.wikipedia.org/wiki/Inductive_reasoning</a>
See also: <a href="http://takingpitches.com/2012/09/22/elon-musk-the-role-of-analogy-and-reasoning-from-first-principles-in-disruptive-entrepreneurship/" rel="nofollow">http://takingpitches.com/2012/09/22/elon-musk-the-role-of-an...</a>
In the mindset of Richard Feynman use the Feynman Algorithm:<p><pre><code> Write down the problem.
Think real hard.
Write down the solution.
</code></pre>
<a href="http://www.c2.com/cgi/wiki?FeynmanAlgorithm" rel="nofollow">http://www.c2.com/cgi/wiki?FeynmanAlgorithm</a>