Beta. Content is under active construction and has not been peer-reviewed. Report errors on GitHub.Disclaimer

Foundations

Vieta Jumping

A competition number theory technique: given a Diophantine equation in two variables, fix one variable, treat the equation as a quadratic in the other, and use Vieta's formulas to jump to a new integer solution. Repeated jumping produces a contradiction or forces a known base case.

AdvancedTier 3Stable~30 min
0

Why This Matters

Vieta jumping is a proof technique for Diophantine equations (see number theory and ML for broader connections) that appears simple once you see it but is difficult to discover independently. It became famous through IMO 1988 Problem 6, which stumped nearly every competitor. The technique is narrow in scope (it applies to specific types of equations) but powerful when applicable, and it illustrates a general principle: exploit the algebraic structure of quadratics to navigate the solution space.

Mental Model

You have an equation f(a,b)=0f(a, b) = 0 (or an inequality) involving two positive integers aa and bb. Fix bb and view the equation as a quadratic in aa. If (a,b)(a, b) is a solution, then aa is a root of this quadratic. By Vieta's formulas, the other root aa' satisfies a+a=B/Aa + a' = -B/A and aa=C/Aa \cdot a' = C/A where Aa2+Ba+C=0Aa^2 + Ba + C = 0. Since BB and CC are integer expressions in bb, the other root aa' is also an integer. If a>0a' > 0, you have a new solution (a,b)(a', b) and can repeat. If a0a' \leq 0, you have reached a base case that can be analyzed directly.

Formal Setup

Definition

Vieta Jumping (Standard Form)

Given a Diophantine equation f(a,b)=0f(a, b) = 0 that is quadratic in aa (when bb is fixed):

A(b)a2+B(b)a+C(b)=0A(b) \cdot a^2 + B(b) \cdot a + C(b) = 0

If (a0,b)(a_0, b) is a positive integer solution, then Vieta's formulas give the second root:

a0+a1=B(b)A(b),a0a1=C(b)A(b)a_0 + a_1 = -\frac{B(b)}{A(b)}, \qquad a_0 \cdot a_1 = \frac{C(b)}{A(b)}

The jump replaces a0a_0 with a1=B(b)/A(b)a0a_1 = -B(b)/A(b) - a_0. If A(b)A(b) divides B(b)B(b) and C(b)C(b) in the integers, then a1a_1 is an integer.

The Method Step by Step

  1. Assume for contradiction (or assume a minimal counterexample). Suppose (a,b)(a, b) is a solution with a+ba + b minimal (or aa maximal, depending on the problem).

  2. Fix one variable. Hold bb fixed and write the equation as a quadratic in aa.

  3. Apply Vieta's formulas. The current value aa is one root. Compute the other root a=B(b)/A(b)aa' = -B(b)/A(b) - a.

  4. Check integrality. Verify that aa' is an integer. This usually follows from the equation's structure.

  5. Check positivity. Show a0a' \geq 0. Use the product of roots: aa=C(b)/A(b)a \cdot a' = C(b)/A(b). If C(b)/A(b)>0C(b)/A(b) > 0, then aa' has the same sign as aa.

  6. Obtain contradiction or base case. Show a<aa' < a (so the new solution is "smaller"), contradicting minimality. Or show a=0a' = 0 and analyze this case directly.

Main Theorem

Proposition

Vieta Jumping Produces Integer Solutions

Statement

Let f(a,b)=A(b)a2+B(b)a+C(b)=0f(a, b) = A(b)a^2 + B(b)a + C(b) = 0 where AA, BB, CC are integer-valued functions. If (a0,b0)(a_0, b_0) is a positive integer solution and A(b0)0A(b_0) \neq 0, then the second root of f(,b0)=0f(\cdot, b_0) = 0 is the integer:

a1=B(b0)A(b0)a0a_1 = \frac{-B(b_0)}{A(b_0)} - a_0

Moreover, a0a1=C(b0)/A(b0)a_0 \cdot a_1 = C(b_0)/A(b_0).

Intuition

A monic quadratic with integer coefficients and one integer root must have another integer root. This is because the sum and product of roots equal integer quantities (by Vieta's formulas). Vieta jumping exploits this: every integer root has an integer partner. The descent structure has a flavor similar to the iterative refinement in Newton's method, where one solution generates the next.

Failure Mode

The technique fails if the equation is not quadratic in either variable, if A(b)=0A(b) = 0 for the relevant bb values, or if the second root is not guaranteed to be positive (in which case the descent argument may not work, though the base case a0a' \leq 0 might still be useful).

Canonical Example: IMO 1988 Problem 6

Example

IMO 1988 Problem 6

Problem. Let aa and bb be positive integers such that ab+1ab + 1 divides a2+b2a^2 + b^2. Show that a2+b2ab+1\frac{a^2 + b^2}{ab + 1} is a perfect square.

Setup. Let k=a2+b2ab+1k = \frac{a^2 + b^2}{ab + 1}. We must show kk is a perfect square. Rearrange: a2+b2=k(ab+1)a^2 + b^2 = k(ab + 1), or equivalently:

a2kba+(b2k)=0a^2 - kb \cdot a + (b^2 - k) = 0

This is a quadratic in aa with A=1A = 1, B=kbB = -kb, C=b2kC = b^2 - k.

Vieta jump. If (a,b)(a, b) is a solution, the other root is a=kbaa' = kb - a, and aa=b2ka \cdot a' = b^2 - k.

Descent. Assume (a,b)(a, b) is a solution with a+b>0a + b > 0 minimal and aba \geq b. The other root satisfies a=kbaa' = kb - a and aa=b2ka \cdot a' = b^2 - k. Since k>0k > 0 and a>0a > 0, if a>0a' > 0 then a=(b2k)/aa' = (b^2 - k)/a. We can show a<aa' < a (using aba \geq b and the structure of the equation), contradicting minimality unless a=0a' = 0.

Base case. If a=0a' = 0, then b2k=0b^2 - k = 0, so k=b2k = b^2, a perfect square. This completes the proof.

When the Technique Applies

Vieta jumping works when:

  • The equation is quadratic (or can be made quadratic) in one of its variables.
  • The coefficients ensure integer second roots.
  • A descent argument is available (the new solution is "smaller" in some sense).
  • The base case is tractable.

It does not work for equations that are cubic or higher in both variables, equations where the second root is irrational, or problems where no natural descent ordering exists.

Common Confusions

Watch Out

The descent direction matters

You must choose which variable to fix and which to jump carefully. In the IMO 1988 problem, fixing bb and jumping in aa works when aba \geq b. Fixing the wrong variable may produce a second root that is larger, not smaller, giving no contradiction.

Watch Out

Vieta jumping is not infinite descent

Infinite descent proves that no positive integer solutions exist. Vieta jumping reduces to a base case that does have solutions. The conclusion is different: Vieta jumping shows that all solutions arise from a known base case via jumping, not that no solutions exist.

Exercises

ExerciseCore

Problem

Let aa and bb be positive integers satisfying a2+b2=3ab1a^2 + b^2 = 3ab - 1. Fix bb and write this as a quadratic in aa. Find the second root aa' in terms of aa and bb. Verify that aa=b2+1a \cdot a' = b^2 + 1.

ExerciseAdvanced

Problem

Use Vieta jumping to show that if aa and bb are positive integers with a2+b2=3ab1a^2 + b^2 = 3ab - 1, then the only solutions are (a,b){(1,1),(1,2),(2,1),(2,5),(5,2),(5,13),(13,5),}(a, b) \in \{(1, 1), (1, 2), (2, 1), (2, 5), (5, 2), (5, 13), (13, 5), \ldots\}, forming a sequence related to Fibonacci numbers.

References

Canonical:

  • Engel, Problem-Solving Strategies (1998), Chapter 6
  • Andreescu & Enescu, Mathematical Olympiad Treasures (2011), Chapter 2

Current:

  • Art of Problem Solving Wiki, Vieta Jumping

  • Munkres, Topology (2000), Chapter 1 (set theory review)

Last reviewed: April 2026