Multiple Equilibrium Expressions in the Same System
When you have more than one equilibrium constant operating in a single solution, the algebra gets real fast. You stop being able to solve anything by inspection. I learned this the hard way during my first year of analytical chemistry, trying to calculate the pH of a sodium carbonate solution without ignoring the fact that both Ka1 and Ka2 of carbonic acid were active at the same time. Each equilibrium expression gives you one equation. If you have n independent equilibria, you have n equations. But you also need charge balance and mass balance. The number of unknowns—ion concentrations, pH, solubility—stays roughly the same, which means you're solving a coupled system, not a series of independent problems.
Equilibrium Constant Expressions More Than One
This is what happens when you have two or more independent equilibrium reactions occurring in the same vessel. A polyprotic acid is the textbook example: H3PO4 dissociates in three steps, and each step has its own Ka. You can't just use Ka1 and ignore Ka2. At concentrations above about 0.01 M, all three steps contribute measurably to the ion composition. Below 10^-6 M, the third dissociation barely matters, but the first two still do. Another common case is a sparingly soluble salt in a solution where the anion is also a weak base. Silver cyanide dissolving in water is one. The AgCN solid establishes a Ksp, but the CN- that enters solution also hydrolyzes to HCN via Kw/Ka. These two expressions are linked through the cyanide mass balance, and you can't decouple them without introducing error. I ran into this exact problem once when precipitating AgCN in a pH 9 buffer—I had to account for both the solubility product and the hydrolysis simultaneously, and my initial calculation that ignored hydrolysis was off by about 40 percent.
Setting Up the System of Equations
Start by writing out every equilibrium expression you need. Each one relates the concentrations of reactants and products at equilibrium. For a diprotic acid H2A, you have: Ka1 = [H+][HA-] / [H2A]
Ka2 = [H+][A2-] / [HA-] Then add the mass balance. If your total analytical concentration is Ct, then [H2A] + [HA-] + [A2-] = Ct. This equation is non-negotiable. It's how you tie the equilibrium expressions back to the actual amount of substance you put in the flask.
Get the Full Details
Next, the charge balance. Sum of positive charges equals sum of negative charges. For the diprotic acid in pure water, [H+] = [HA-] + 2[A2-] + [OH-]. The 2 on the [A2-] term is easy to forget. I forget it half the time, which is why I write it out by hand now instead of relying on memory. Substitute the equilibrium expressions into the mass and charge balances to get one equation in one unknown. For a weak acid, this usually collapses to a polynomial. For polyprotic systems with multiple equilibria, it often becomes a cubic or quartic. You don't solve these by hand anymore. Excel's Solver, Python with scipy.optimize.root, or even a dedicated speciation program like PHREEQC will do it in under a second.
A Practical Worked Example
Let me walk through a real calculation. Carbonate system, 0.1 M Na2CO3, 25 degrees Celsius. You have the carbonate ion, which is the conjugate base of bicarbonate, and bicarbonate is the conjugate base of carbonic acid. Three species in solution besides the spectator sodium: CO3^2-, HCO3-, H2CO3, plus H+ and OH- from water. Five unknowns, but you only need two equilibrium constants to close the system because the species are linked. Ka1 for H2CO3 is 4.45 × 10^-7. Ka2 for HCO3- is 4.69 × 10^-11. Kw is 1.0 × 10^-14. The carbonate ion hydrolyzes in two steps: CO3^2- + H2O HCO3- + OH- with Kb1 = Kw/Ka2 = 2.13 × 10^-4
HCO3- + H2O H2CO3 + OH- with Kb2 = Kw/Ka1 = 2.25 × 10^-8
The Kb1 is large enough that the first hydrolysis dominates. The second is negligible for a first approximation. But if you want precision, you include both. The mass balance is 0.1 = [CO3^2-] + [HCO3-] + [H2CO3]. The charge balance is [Na+] + [H+] = [HCO3-] + 2[CO3^2-] + [OH-], and [Na+] = 0.2 since Na2CO3 dissociates to give two sodiums. Substituting and solving gives a pH around 11.6. If you ignore the second hydrolysis and the water autoionization contribution, you get 11.63. The difference is in the third decimal place. For most lab work that's irrelevant. For trace metal precipitation calculations, it matters because the hydroxide concentration is exponential in pH.

Common Pitfalls
The biggest mistake people make is treating multiple equilibria as a sequence of independent steps. They solve for the first dissociation, assume the concentration doesn't change, then plug that into the second expression. This works fine for very dilute solutions or when the Ka values are separated by four or more orders of magnitude. It breaks down when Ka1 and Ka2 are within two orders of magnitude, or when the analytical concentration is high enough that the approximations collapse. Another trap is double-counting species. When you write the mass balance, make sure every species appears exactly once. I've seen people include both H2CO3 and dissolved CO2 in the same balance as if they were different things. They're not. In aqueous solution, CO2(aq) and H2CO3 are in rapid equilibrium, and most textbooks fold them together into a single apparent Ka1 value. If you treat them as separate, your mass balance is wrong and your answer is garbage. Ion pairing is a third issue. At concentrations above 0.1 M, activity coefficients deviate from unity. Using concentrations directly in the equilibrium expression introduces systematic error. I corrected a set of solubility calculations once by switching to the Debye-Hückel limiting law, and the results shifted by about 15 percent for a 0.5 M electrolyte solution. That's not a rounding difference. It's the difference between predicting precipitation and not predicting it.
When Multiple Equilibria Become Unmanageable
There are systems where the manual approach simply fails. A natural water containing carbonate, phosphate, silica, and several trace metals? That's five or six independent equilibria, plus redox couples, plus surface complexation if you're dealing with particulates. You can write the equations. You cannot solve them by hand, and a spreadsheet gets messy fast. In those cases, you use a speciation program. PHREEQC, MINTEQ, or Visual MINTEQ are the standard tools. You define the solution composition, the temperature, the relevant equilibria, and the program handles the nonlinear algebra. I switched to PHREEQC for environmental samples about five years ago. What used to take me an afternoon of iterative substitution now takes about ten minutes of setup and a few seconds of computation. The downside is that these programs are black boxes if you don't understand the underlying chemistry. I've caught colleagues running speciation models with incorrect thermodynamic databases, getting confident answers that were wrong because the program was using old or incompatible equilibrium constants. Always verify a speciation run against a simple hand calculation for a known system before trusting it on an unknown one.
Bottom Line
Multiple equilibrium constants in the same system require a coupled approach. Write every equilibrium expression, add mass balance and charge balance, substitute, and solve. Use numerical methods for anything beyond two expressions. Watch out for double-counting species, ion pairing at high concentration, and the temptation to decouple steps that are actually interdependent. When the system gets complicated enough, a speciation program is the right tool, but only if you know what it's actually computing.
