Kuttaka: The Pulverizer Algorithm
Aryabhata's elegant method for linear indeterminate equations
Learn the kuttaka method, an algorithm for solving linear indeterminate equations that Aryabhata developed for astronomical calculations.
The Pulverizer at Kusumapura
In the year 499 CE, in the city of Kusumapura on the banks of the Ganga (the modern Patna), a twenty-three-year-old astronomer named Āryabhaṭa finishes the fourth and final pāda of his treatise the Āryabhaṭīya. He works by oil-lamp light at a low wooden desk, on palm-leaf folios bound with cotton thread. He has spent the last several months on a single problem.


The problem is this. Two planets, say Jupiter and Saturn, orbit on different cycles. Today they sit at specific offsets from a reference point in the sky. On what future day will they line up in a given configuration?
Strip the astronomy away and the question becomes arithmetic. Āryabhaṭa is looking for a number N such that N divided by one period leaves one remainder, and N divided by another period leaves another remainder. Two constraints, one unknown, and the unknown must be a whole number, because days are whole and planetary cycles do not land on fractions. This is the oldest form of what modern mathematicians call a linear indeterminate equation.
Diophantus of Alexandria, writing two and a half centuries earlier in Greek, had stared at problems of this shape and worked them out one by one with no general method. Āryabhaṭa, in the verses he is composing tonight, will give the world its first general algorithm. He calls it kuṭṭaka, from the Sanskrit root kuṭṭ, meaning 'to crush' or 'to pulverize'. The name is literal. The algorithm takes the numbers involved and grinds them down into smaller ones, until the remaining problem is small enough to solve by inspection. Then it reassembles the answer by working backwards through the grinding. It is not merely clever. It is the first documented general algorithm for solving linear indeterminate equations in any tradition on Earth.