An interactive column using Java applets
by Alex Bogomolny

The Three Jugs Problem

May 2000

According to one story [Kasner, p. 159], Siméon Denis Poisson, one of the greatest mathematicians of the 19^{th} century, owed his interest in mathematics to a chance encounter with a simple problem

Two friends who have an eight-quart jug of water wish to share it evenly. They also have two empty jars, one holding five quarts, the other three. How can they each measure exactly 4 quarts of water?

In [Ball & Coxeter, p. 27] the problem appears with the remark that "the solution presents no difficulty." It precedes another problem with 4 jugs of capacities 5, 11, 13, and 24 for which a solution "can be worked out only by trial." The problem is presented by the narrative:

Three men robbed a gentleman of a vase, containing 24 ounces of balsam. Whilst running away they met a glass seller, of whom they purchased three vessels. On reaching a place of safety they wished to divide the booty, but found that their vessels could hold 5, 11, and 13 ounces respectively. How could they divide the balsam into equal portions?

More than three years ago I wrote a JavaScript simulation of the 3 Jugs problem. The page since became an all-time favorite with visitors to my site. Here's a more convenient Java variant.

To pour water, first click on the "from" jug and then on the "to" jug. You can specify capacities of jugs by first checking the Capacity button. Subsequently click on the numbers below the glasses. Similarly, you may specify the initial quantities of water in each jug by first checking the Water button. To return to the puzzle check the Play button.

You can always take a move Back, or even Reset the puzzle to its starting point.

If nothing else, such problems wrap up a meaningful counting exercise that can be handed out to children in early grades. A variant with the largest vessel replaced with an unlimited source of water was offered as a Middle School Problem of the Week (October 4, 1999) at the Math Forum.

But there is also some worthwhile mathematics involved that was mostly overlooked by teachers and students alike. (This is judging by the number of questions I received concerning existence of a solution.)

Label the jugs A, B, C in the increasing order of their capacities. Let's agree to use the same letters for the capacities themselves. Let x, y, z denote the quantities of water in the jugs. In particular, x + y + z = C. A typical state - distribution of water - of the puzzle is described by a triple (x, y, z). For the original problem, the initial state is thus (0, 0, C) with C = 8.

The problem and the proof have a surprising geometric interpretation [Coxeter & Greitzer, p. 89] in terms of triangular coordinates. Cartesian and polar coordinates are great tools of analytic geometry of the plane. Spherical coordinates are suitable for the geometry of the sphere, as are cylindrical coordinates on a cylinder. There are several systems of coordinates in which vertices and sides of a triangle are treated in an equitable manner. The most important are the barycentric and trilinear coordinates.

For example, if r is the inradius - the radius of the inscribed circle - of ABC, then trilinear coordinates of its incenter are (r, r, r) which, in the homogeneous form, appear as r : r : r, or simply as 1:1:1. On the other hand, in the homogeneous barycentric coordinates, 1:1:1 corresponds to the centroid (also called the center of gravity or barycenter) of ABC. For equilateral triangles, the two systems of coordinates coincide.

The description of the 3 Jugs problem as a triple of quantities (x, y, z) fits nicely with trilinear coordinates. Draw an equilateral triangle ABC and let the vertices have trilinear coordinates (C, 0, 0), (0, C, 0), and (0, 0, C) - in that order. The sides AB, BC, and CA are defined by z = 0, x = 0, and y = 0, respectively. The other lines on which one of the coordinates is a constant integer form a triangular grid of lines parallel to the sides of ABC. For example, lines x = const are parallel to the side BC.

The applet below demonstrates how the puzzle moves are reflected on such a grid. (Play with it with the button Trace checked.)

The (integer) points that satisfy built-in constraints of the 3 Jugs problem (e.g., 0xA) fill a parallelogram. Only the points on the boundary of that parallelogram could be attained as a result of valid puzzle moves. The basic move corresponds to an inverted "V" line with one side parallel to AC (pour from C to A), the other to AB (pour from A to B.)

The jug B is full at the points of the "western" side of the parallelogram. Close to that side, the left leg of the inverted V may not reach the bottom line of the parallelogram. In which case, a secondary move must be made: first parallel to the line BC to the "eastern" side of the paralellogram (pour B to C), and then to the bottom side (pour from A to B.)

Since we are only interested in the modular arithmetic, we may overlook the need for secondary moves on the western side of the parallelogram and keep applying only the basic moves. Since A and C are mutually prime, all lines z = const (mod C) will eventually be covered.

Condition A + B = C serves a double purpose. First, together with the relative primality of A and B, it insures that all three capacities share no common factor, save 1. Were they not, the quantities that could be measured with three vessels of the specified capacities would share their common factor. For the problem to be generally solvable the mutual primality of all three capacities is a necessary condition. However, it is not sufficient. Anomalies also arise when the three jugs are rather big. Condition A + B = C prevents this from happening.

This completes the analysis of existence of a solution to the 3 Jugs problem. That of the 2 and 4 Jugs problems is left as an enticement for the future Poissons.