Skip to main content

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 3StableInsight~30 min

Learning position

Place this page in a reading path.

foundations | layer 0A | tier 3. This page has 0 direct prerequisites and 0 published dependents.

What next

Take the diagnostic

No published continuation is declared yet, so the diagnostic is the clean next route.

Evidence badge

Claim status

This page has no public Lean mapping yet. Use the evidence page to inspect how claim status labels work.

Show the backing system

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 a′a' satisfies a+a′=−B/Aa + a' = -B/A and a⋅a′=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 a′a' is also an integer. If a′>0a' > 0, you have a new solution (a′,b)(a', b) and can repeat. If a′≤0a' \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),a0⋅a1=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 a′a' is an integer. This usually follows from the equation's structure.

  5. Check positivity. Show a′≥0a' \geq 0. Use the product of roots: a⋅a′=C(b)/A(b)a \cdot a' = C(b)/A(b). If C(b)/A(b)>0C(b)/A(b) > 0, then a′a' 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, a0⋅a1=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 a′≤0a' \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:

a2−kb⋅a+(b2−k)=0a^2 - kb \cdot a + (b^2 - k) = 0

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

Vieta jump. If (a,b)(a, b) is a solution, the other root is a′=kb−aa' = kb - a, and a⋅a′=b2−ka \cdot a' = b^2 - k.

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

Base case. If a′=0a' = 0, then b2−k=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 a≥ba \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=3ab−1a^2 + b^2 = 3ab - 1. Fix bb and write this as a quadratic in aa. Find the second root a′a' in terms of aa and bb. Verify that a⋅a′=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=3ab−1a^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 13, 2026

Cite this page

Sneiderman, Robby. "Vieta Jumping." TheoremPath, reviewed 2026-04-13. https://theorempath.com/topics/vieta-jumping

Canonical URL
https://theorempath.com/topics/vieta-jumping
Author
Robby Sneiderman, TheoremPath
Last reviewed
2026-04-13
What this is
A reference page on TheoremPath. Written and maintained by the named author. Not peer reviewed and not refereed by any venue. Each claim below carries its own verification status.
Terms
All rights reserved. Non-commercial quotation with attribution permitted.

Citing one claim

One statement on this page is separately addressable. Each carries an identifier of the form claim:<topic>::<statement> printed beside it, and resolves to that identifier's anchor on this URL. Quote the statement, its assumptions, and its failure modes together.

Recorded verification on this page: 1 informal_only.

  • This page is a secondary source. Where a claim cites literature, the result is due to that source and not to this site.
  • 1 of 1 claims on this page name no source. Their attribution to the literature is not recorded here, whatever their verification status says.
  • 1 of 1 carry neither a source nor a proof check. Their provenance is the author's reading of the literature; check them against a primary source before relying on them.
  • Statements are given in LaTeX exactly as authored. The rendered page passes the same LaTeX through KaTeX, so text scraped from the HTML repeats expressions and drops radicals; quote from statementTex.

/claims.json lists 1,178 of the 1,231 statements this site records, with the anchor and the recorded verification of each. What earns a place in it: a theorem, lemma, corollary, or proposition block on a published topic page. Definitions are not listed, and neither are the 27 statements on comparison pages. A missing entry means the rule above did not select the statement, not that this site is silent on the result.

Canonical graph

Required before and derived from this topic

These links come from prerequisite edges in the curriculum graph. Editorial suggestions are shown here only when the target page also cites this page as a prerequisite.

Required prerequisites

0

No direct prerequisites are declared; this is treated as an entry point.

Derived topics

0

No published topic currently declares this as a prerequisite.