HomeCalculatorsMathNumber Theory & Discrete MathModular Inverse Calculator
Math calculator

Modular Inverse Calculator

Find exact modular inverses for coprime signed integers up to 48 digits. Check the original Bézout identity, reject invalid inputs, and export complete results.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · Sampled complete packs for both published modes, all signed branches and bounded48-digit cases
Input interpretation
Enter values to calculate.
Result
—
Verified scope
Sampled complete packs for both published modes, all signed branches and bounded48-digit cases
Assurance
Core
Declared partition coverage
PASS · 3/3 declared partitions (remainder, inverse, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
x in [0, |m|) with a x ≡ 1 (mod m) when gcd(a,m)=1.
Scope
Integers: at most48 digits and512 token characters; safe JSON numbers or exact signed digit strings.
Verification
Engine tested · Source checked · v1.1.2 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · Sampled complete packs for both published modes, all signed branches and bounded48-digit cases· View Manifest · CVP overview · Specification
Versions
Calculation 1.1.2 · CVP protocol 1.0.0-proposed · Evidence 2026-10-28.meta-metrics-v2
Verification revision
2026-10-28.meta-metrics-v2 · 2/2 property · digest 7f68d65dd72b
Legacy regression
13/13 tests · Production surface contract 5/5
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
92/92 golden · 5/5 CVP boundary · 8/8 invalid · 2/2 property · 2/2 metamorphic · 4/4 cross-interface · 1/1 cross-calculator · 5/5 CVP contract · Manifest
Sources
Sources
Evidence
3 legacy golden · 4 legacy boundary · legacy regression suite · 92/92 oracle-backed golden · 8/8 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.1.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Congruencea x ≡ 1 (mod m)
Bézouta x + m y = 1
iExtended Euclidean algorithm. Inverse is returned in [0, |m|). |m| ≥ 2. gcd(a,m) must be 1. Not JavaScript %. Integers only. Float64 is not used.

How to use

1

Enter a and a modulus

|m| ≥ 2. Remainder still lives at /calc/math/modulo.

2

Read the inverse

If gcd ≠ 1 the engine returns NOT_INVERTIBLE. GCF is /calc/math/gcf.

Example calculations

Common configurations with formula and result.

ϟ

3⁻¹ mod 11

3·4 = 12 ≡ 1

3x ≡ 1 (mod 11)
4
ϟ

Not invertible

gcd(2,4)=2

2x ≡ 1 (mod 4)
NOT_INVERTIBLE

Modular Inverse calculator specification

Version 1.1.2 · Engine tested

Calculation status

Review policy · Evidence

Definition
x is a modular inverse of a modulo m when a x ≡ 1 (mod m). This page is mode=inverse on the modulo engine. Remainder and GCF are separate intents.
What it calculates
x in [0, |m|) with a x ≡ 1 (mod m) when gcd(a,m)=1.
Inputs
  • a
  • modulus
Outputs
  • inverse
  • gcd
  • identity
Formula
ax ≡ 1 (mod m)
Assumptions
  • Integers: at most48 digits and512 token characters; safe JSON numbers or exact signed digit strings.
  • Euclidean remainder convention
  • |m| ≥ 2
  • Not GCF
Units
  • dimensionless
Boundary conditions
  • gcd ≠ 1 → NOT_INVERTIBLE
  • |m| < 2 → INVALID_INPUT
  • modulus = 0 → DIVISION_BY_ZERO
Example
a=3 modulus=11 → inverse=4
Validation cases

2 published on this page · 13/13 tests · Production surface contract 5/5 · View evidence

  • a=3 modulus=11 → inverse=4
  • a=2 modulus=4 → error NOT_INVERTIBLE
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • Knuth, The Art of Computer Programming, extended Euclidean algorithm
  • MIT Mathematics for Computer Science — Chapter 8: Number Theory — Chapter 8, including sections 8.2–8.9 and problem 8.24
    Supports: Divisibility, prime factorization, gcd and the Euclidean algorithm, lcm via prime exponents, division with remainder, modular congruence and multiplicative inverses. CalculatorX’s signed-remainder and zero-input policies are stated separately on the page. Mathematical reference only; not validation or endorsement of this implementation.
Calculation version
1.1.2

Background

Interpretation and common distinctions.

What does this modular inverse calculator compute?

x is a modular inverse of a modulo m when a x ≡ 1 (mod m).

The published formula or method is ax ≡ 1 (mod m). The following references support the stated mathematics or method:

  • MIT Mathematics for Computer Science — Chapter 8: Number Theory: Divisibility, prime factorization, gcd and the Euclidean algorithm, lcm via prime exponents, division with remainder, modular congruence and multiplicative inverses. CalculatorX’s signed-remainder and zero-input policies are stated separately on the page. Mathematical reference only; not validation or endorsement of this implementation.

Which inputs and limits should you check?

Use signed integer digit strings, at most48 digits and512 token characters; JSON numbers must be safe integers. Scientific notation, decimal points, commas, null, booleans and nested values are rejected. Unknown fields and conflicting aliases are errors. A nonzero modulus is required; inverse additionally needs |m|≥2 and gcd(a,m)=1.

The worked example uses 3·4 = 12 ≡ 1 with 3x ≡ 1 (mod 11). Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.modulo v1.1.2 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Exact outputs and verification

All arithmetic uses BigInt, without floating rounding. Safe integer outputs are JSON numbers; larger exact outputs are signed decimal strings. The complete result includes the identity, algorithm, exactness model, work and calculation version. In inverse mode, the canonical Bézout coefficient x equals the returned inverse in [0,|m|), and y=(1−a·x)/m. These coefficients satisfy the original input identity a·x+m·y=1, including negative a and m.

For example, a=−3,m=11 gives inverse7, x=7,y=2: (−3)·7+11·2=1. Remainder/quotient obey a=q·m+r and0≤r<|m|. Integer changes can change these discrete outputs abruptly; floating conditioning and measurement uncertainty are not modeled. This implementation does not claim constant-time cryptographic behavior.

Inputs, sharing and remote calls

The main Modulo entry accepts remainder or inverse; the Modular Inverse discovery page and REST alias lock inverse, overriding a supplied mode. Share links use the current engine and do not preserve historical runtimes. Raw aliases are a/dividend and modulus/m/b; conflicting values reject rather than choosing one silently. Use digit strings for exact integers beyond the safe JSON numeric range. Errors include MISSING_REQUIRED_INPUT, INVALID_NUMBER, INVALID_MODE, UNKNOWN_INPUT, CONFLICTING_INPUT, VALUE_ABOVE_MAX, INPUT_TOO_LONG, DIVISION_BY_ZERO, INVALID_INPUT and NOT_INVERTIBLE.

Typing computes locally. Opening shared URLs and calling REST/MCP sends inputs to the server, where request URLs/metadata may enter logs. Recent calculations may remain in local browser history, which can be cleared. See the privacy policy; fixed retention, deletion guarantees and processing regions are not asserted here.

Frequently asked questions

Key distinctions behind the calculation.

Is this a second GCF calculator?

No. gcd is computed only to decide invertibility. GCF stays /calc/math/gcf.

Is this a second remainder page?

No. It is mode=inverse on math.modulo, the same engine as /calc/math/modulo.

Where does this run?

Locally in the browser by default. REST and MCP call the same modulo engine.