<p>I’m not sure why they never teach you, but it’s just a system of linear equations. Each coefficient is a variable, and for each element in the reaction you make a linear equation equating the number of atoms on the left to the number of atoms on the right. This gives you an underdetermined system (i.e. you have more variables than equations). This means that you have some options: there are infinitely many solutions.</p>
<p>Example: first problem above. (Nice problems btw.)
HIO3 + FeI2 + HCl —> FeCl3 + ICl + HOH</p>
<p>In this case, we’ll call our coefficients a, b, c, d, e, and f. Then we get
a HIO3 + b FeI2 + c HCl —> d FeCl3 + e ICl + f HOH.
There are (a+c) atoms of hydrogen on the left and 2f atoms of it on the right, so we get the equation
a + c = 2f.
Repeating for iodine, oxygen, iron, and chlorine, respectively, gives
a + 2b = e
3a = f
b = d
c = 3d + e.
Now we have 6 equations in 5 variables. Substituting 3a = f into the first equation gives
a + c = 6a, so c = 5a.
Now, using this and b = d, we can change c = 3d + e into
5a = 3b + e, or e = 5a - 3b.
We also have a + 2b = e, so a + 2b = e = 5a - 3b, which gives
4a = 5b.
At this point, it’s pretty clear that we can solve for all the other variables in terms of a. Therefore, we can set a to any nonzero value. Since we like integers and we know that 4a = 5b, we’ll try a = 5. Then we get b = 4, c = 5a = 25, d = b = 4, e = a + 2b = 13, and f = 3a = 15. Now we can check that (5, 4, 25, 4, 13, 15) correctly balances the equation, which it does:
5HIO3 + 4FeI2 + 25HCl —> 4FeCl3 + 13ICl + 15HOH.</p>
<p>Some tips: typically you’re going to get n equations and n + 1 variables. Since they typically never give you problems where one of the coefficients is 0, this means that if you feel more comfortable this way, you can pick any one of the variable and set it to any nonzero value you like. For example, we could have set e = 1 above, in which case we would have gotten the solution (5/13, 4/13, 25/13, 4/13, 1, 15/13). Then we would multiply all the numbers by 13.</p>
<p>Also, you can sometimes reduce the number of variables by making obvious observations, such as that b = d above. Since there were only two terms with iron in them, we could have thought “Well, these two terms clearly have the same coefficients, so we’ll just call the coefficients a, b, c, b, e, f.” While in general solving a system of 5 equations in 5 variables is nasty, typically the systems that result from balancing equations are very nice.</p>
<p>Finally, this method is a little slow, but it guarantees a solution and is very algorithmic. Personally I like just playing around with the equations using logic until they balance, but for really messy equations like the last one above, this isn’t very helpful.</p>