> We can build new software to do anything we want ...
I'm being really pedantic here, but you actually can't. There are actually uncountably which are impossible to solve with an algorithm. There's a (by necessity) incomplete list of examples at: [1].
[1] http://en.wikipedia.org/wiki/List_of_undecidable_problems
[Edited for clarity.]