KEVOS
ArticlesServicesCase studiesAboutContact
ArticlesServicesCase studiesAboutContact
← ArticlesThe Extended Euclidean AlgorithmEngineering · Engineering MathematicsLesson 555/884← PrevNext →
ArticlePublished 7 Aug 20263 min readBy Kevin Jogin
On this page

Ask about this page

KEVOS AIThe Extended Euclidean Algorithm

KEVOS knowledge first · trusted web sources when needed

Engineering  /  Mathematics  — Integer Algorithms

The Extended Euclidean Algorithm

Computing Bezout coefficients alongside the gcd, the recurrence for the coefficient sequences, and the size bounds that make it practical.

Page KV-MATH-0327Reading time 3 minReviewed 2026-08-07Author Kevin Jogin

Executive summary

The extended algorithm tracks, at every step, how the current remainder is expressed as an integer combination of the original inputs. When the algorithm terminates, that expression is Bezout's identity for the gcd.

It is the workhorse behind modular inversion, linear congruence solving, the Chinese remainder theorem and rational reconstruction.

Learning objectives

  1. State the coefficient recurrences and their initial conditions.
  2. Bound the size of the coefficients produced.
  3. Apply the result to compute modular inverses.

01The algorithm

Algorithm

Extended Euclidean algorithm

Inputintegers a, b
Outputd = gcd(a,b) and s, t with as + bt = d
  1. Set (r₀, s₀, t₀) = (a, 1, 0) and (r₁, s₁, t₁) = (b, 0, 1).
  2. While r₁ ≠ 0:
  3.   Compute q = r₀ div r₁.
  4.   Set (r₀, r₁) = (r₁, r₀ − q r₁).
  5.   Set (s₀, s₁) = (s₁, s₀ − q s₁).
  6.   Set (t₀, t₁) = (t₁, t₀ − q t₁).
  7. Return (r₀, s₀, t₀) with r₀ = gcd(a,b) and a s₀ + b t₀ = r₀.
Cost  O(len(a) · len(b)) bit operations

The invariant a sᵢ + b tᵢ = rᵢ holds at every step, by induction: it holds initially, and the update applies the same linear combination to all three sequences simultaneously.

02Coefficient size

Theorem

Coefficient bounds

The coefficients returned satisfy |s| ≤ b/(2d) and |t| ≤ a/(2d) where d = gcd(a,b), for inputs not in degenerate cases.

This bound is what makes the algorithm practical. The coefficients never grow beyond the size of the inputs, so no intermediate expression explosion occurs and the whole computation stays within the same order of magnitude as the inputs.

Note
The coefficient sequences alternate in sign and grow monotonically in absolute value, which gives a cheap internal consistency check: any implementation producing a coefficient exceeding the input magnitude has a bug.

03Modular inversion

The primary application. To invert a modulo n, run the extended algorithm on (a, n). If the gcd is 1, the coefficient of a reduced modulo n is the inverse.

Algorithm

Modular inverse

Inputa, n with n > 1
Outputa⁻¹ mod n, or a report that a is not invertible
  1. Run extended Euclid on (a, n) to obtain d, s, t with as + nt = d.
  2. If d ≠ 1, report that no inverse exists and stop.
  3. Return s mod n.
Cost  O(len(n)²) bit operations
Caution
The returned s may be negative and must be normalised into [0, n). Skipping the normalisation produces a value that is mathematically correct as a residue class but breaks any subsequent comparison or serialisation that assumes canonical representatives.

A binary extended variant avoids division entirely, mirroring the binary gcd. It is preferred on hardware where division is disproportionately expensive, and it is easier to make constant-time.

04Frequently asked questions

Is only one coefficient ever needed?

For modular inversion, yes — the coefficient of a. Implementations often omit the t sequence entirely, halving the bookkeeping, and recover t from the identity if it is ever required.

Why do the coefficients stay small?

Because they are built from the quotient sequence, and the product of all quotients is bounded by the input. Large quotients mean fast termination, so the two effects offset each other exactly.

Can this be made constant-time?

Not straightforwardly, because both the iteration count and the quotients depend on the inputs. Constant-time modular inversion in cryptographic libraries typically uses Fermat exponentiation or a fixed-iteration binary variant instead.

Related pages

  • Solving Linear Congruences
  • Euclid's Algorithm for Integer GCD
  • Modular Inverses and Chinese Remaindering

Sources and method

Structural reference: Victor Shoup, A Computational Introduction to Number Theory and Algebra, Version 1, Cambridge University Press, 2005 — book pages 58-62.

This page carries the durable method layer only: definitions, constructions, algorithms, complexity results and selection criteria, authored originally for KEVOS. No text is transcribed or paraphrased from the source, and no numeric tables or benchmark data are reproduced — these are routed to live authoritative sources instead.

Author: Kevin Jogin. Last reviewed 2026-08-07.

Continue learning

Euclid's Algorithm for Integer GCDArticle · Engineering MathematicsNEXT LESSON →Modular Inverses and Chinese RemainderingArticle · Engineering MathematicsFaster Integer Arithmetic: Karatsuba and BeyondArticle · Engineering MathematicsSpeeding Up Algorithms via Modular ComputationArticle · Engineering Mathematics
KEVOS · Engineering, manufacturing and project improvement
ArticlesServicesCase studiesAboutContact
© 2026 KEVOS®