In modular arithmetic, Thue's lemma roughly states that every modular integer may be represented by a "modular fraction" such the numerator and the denominator have absolute values not greater than the square root of the modulus.
Contents
More precisely for every pair of integer (a, m) with m > 1, given two positive integers X and Y such that X ≤ m < XY, there are two integers x and y such that
and
Usually, one takes X and Y equal to the smallest integer greater than the square root of m, but the general form is sometimes useful, and make the unicity theorem (below) easier to state.
The first known proof is attributed to Axel Thue (1902), who used a pigeonhole argument. It can be used to prove Fermat's theorem on sums of two squares by taking m to be a prime p that is 1 mod 4 and taking a to satisfy a2 + 1 = 0 mod p. (Such an "a" is guaranteed for "p" by Wilson's Theorem.)
Uniqueness
In general, the solution whose existence is asserted by Thue's lemma is not unique. For example, when a = 1 there are usually several solutions (x,y) = (1,1), (2,2), (3,3), ..., providing that X and Y are not too small. Therefore, one may only hope unicity for the rational number x/y, to which a is congruent modulo m if y and m are coprime. Nevertheless, this rational number needs not to be unique; for example, if m = 5, a = 2 and X = Y = 3, one has the two solutions
However, for X and Y small enough, if a solution exists, it is unique. More precisely, with above notation, if
and
with
and
then
This result is the basis for rational reconstruction, which allows using modular arithmetic for computing rational numbers for which one knows bounds for numerators and denominators.
The proof is rather easy: by multiplying each congruence by the other yi and subtracting, one gets
The hypotheses imply that each term has an absolute value lower than XY < m/2, and thus that the absolute value of their difference is lower than m. This implies that
Computing solutions
The original proof of Thue's lemma is not efficient, in the sense that it does not provide any fast method for computing the solution. The extended Euclidean algorithm, allows us to provide a proof that leads to an efficient algorithm that has the same computational complexity of the Euclidean algorithm.
More precisely, given the two integers m and a appearing in Thue's lemma, the extended Euclidean algorithm computes three sequences of integers (ti), (xi) and (yi) such that
where the xi are non-negative and strictly decreasing. The desired solution is, up to the sign, the first pair (xi, yi) such that xi < X.