Rectifying a Pill Mistake


I got this problem from Rustan Leino, who slightly reworded it from a problem he got from Phil Wadler, who said he read the problem on xkcd.

I solved it and wrote up my solution.


A patient has a medical condition that requires them to take two kinds of pills, call them A and B. They must take exactly one A pill and exactly one B pill each day, or they will die. The pills are taken by first dissolving them in water.

The patient has a jar of A pills and a jar of B pills. One day, as they're about to take their pills, they take out one A pill from the A jar and put it in a glass of water. Then they accidentally take out two B pills from the B jar and put them in the water. Now, they're in the situation of having a glass of water with three dissolved pills, one A pill and two B pills. Unfortunately, the pills are very expensive, so the thought of throwing out the water with the three pills and starting over is out of the question. How should they proceed to get the right quantity of A and B while not wasting any pills?

Solution     Reveal