Fascheue said:
Can systems of equations always be solved by substitution?
No, because one cannot always solve equations uniquely. ##x^2=1## has two solutions, and ##\sin x = 0.5## even infinitely many. Which one would you choose for a substitution? And what if the equation is ##x^2+y^3+z^4=5##?
And isn’t there some rule relating the number of unknowns to the number of equations?
Not really. It comes from the substitution idea: ##n## equations with ##n## variables ##x_1,\ldots ,x_n## then write the equations as ##x_i = \ldots ## and substitute them into the last, solve for ##x_n## and go backwards to get the other values. But as said above, this isn't always possible. Also some functions cannot be inverted to a closed form, e.g. ##y=xe^x## cannot be written as ##x=\ldots ## Therefore this is more a rule of thumb:
"Every equation decreases the degrees of freedom by one" than an exact theorem. Even in the case of linear equations you can have situations like ##y=2x## and ##4x-2y=0## which are formally two but effectively only one equation. And with more variables and equations, this situation is far less obvious than in my simple example.
Depending on the kind of equations and the task, there are sometimes theorems which can be used to find a solution. But often it can only be done by numerical algorithms. However, this adds a couple of more questions: how stable is a solution, i.e. if we use numbers, then we have to cut them at a certain point, ##\sqrt{2}## becomes ##1.4142##, ##\pi## becomes ##3.1416##, which aren't exact anymore. So what happens to the solution if we round differently? As I said, this is an entire mathematical branch. There is a famous theorem about differential equations, which states under which circumstances a solution exists and is unique. Unfortunately it doesn't tell how to find it. So as soon as linearity is left, things start to become complicated. That's one reason we often use linear approximations, because they are easy to handle. At least basically.