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 man has a medical condition that requires him to take two kinds of pills, call them A and B. The man must take exactly one A pill and exactly one B pill each day, or he will die. The pills are taken by first dissolving them in water.

The man has a jar of A pills and a jar of B pills. One day, as he's about to take his pills, he takes out one A pill from the A jar and puts it in a glass of water. Then he accidentally takes out two B pills from the B jar and puts them in the water. Now, he's 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 the man proceed to get the right quantity of A and B while not wasting any pills?

Solution     Reveal