Every mathematical problem has a solution, but not every solution is immediately apparent.
The most important single aspect of software development is to be clear about what you are trying to build.
"To live is to suffer, to survive is to find some meaning in the suffering."