Explore related knowledge and questions →

Question 335: A Modular Inverse Exists Exactly for a Unit

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 2

← Question derivation index · Original question batch

P1000-0335 · q-20261014-advance-20261103-r07-modular-inverse-0010

Original question and givens

Use the original signed integer a=5 and modulus n=36≥2. Exact extended Euclid gives nonnegative g=gcd(a,n) and signed coefficients x,y satisfying a*x+n*y=g. An inverse exists exactly when g=1; normalize its representative to 0≤inverse<n. Uniqueness means one residue class modulo n, not a unique integer representative. This family excludes moduli 0 and 1 and does not use approximate division. Give (a,n,gcd,exists?,inverse), with inverse=null for a nonunit.

  • G001 — Use the original signed integer a=5 and modulus n=36≥2. Exact extended Euclid gives nonnegative g=gcd(a,n) and signed coefficients x,y satisfying a*x+n*y=g. An inverse exists exactly when g=1; normalize its representative to 0≤inverse<n. Uniqueness means one residue class modulo n, not a unique integer representative. This family excludes moduli 0 and 1 and does not use approximate division. Give (a,n,gcd,exists?,inverse), with inverse=null for a nonunit.

Definition and scope

Integer a and modulus n≥2. An inverse exists exactly when gcd(a,n)=1; normalize the representative into [0,n).

Step-by-step derivation

S001 · implies

Before

a=5; n=36≥2

After

compute gcd and a Bezout certificate before inversion

Conditions: none

Invertibility requires coprimality, after qualifying the modulus.

Step identifiers and dependencies

Rule: modular_domain · Uses: G001

S002 · implies

Before

divide 5 by 36

After

5=0·36+5

Conditions: none

Continue with divisor and remainder; nonzero remainders decrease strictly.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S001

S003 · implies

Before

divide 36 by 5

After

36=7·5+1

Conditions: none

Continue with divisor and remainder; nonzero remainders decrease strictly.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S002

S004 · implies

Before

divide 5 by 1

After

5=5·1+0

Conditions: none

Continue with divisor and remainder; nonzero remainders decrease strictly.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S003

S005 · calculation

Before

a·x := mul(5, -7)

After

a·x = -35

Conditions: none

Multiply by the original signed a.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S004

S006 · calculation

Before

n·y := mul(36, 1)

After

n·y = 36

Conditions: none

Retain the modulus coefficient as well.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S005

S007 · calculation

Before

Bezout value := sum(-35, 36)

After

Bezout value = 1

Conditions: none

The two terms must sum to the final nonzero remainder, the gcd.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S006

S008 · implies

Before

5·(-7)+36·(1)=1

After

inverse representative=29; 5·29≡1 (mod 36)

Conditions: none

Modulo n the modulus term vanishes; normalize the coefficient of a into[0,n).

Step identifiers and dependencies

Rule: reduce_bezout · Uses: G001, S007

Reverse checks

  • S008 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S007 · premise_and_result_audit — Recompute Bezout value with exact rational arithmetic, not rounded decimals.
  • S006 · premise_and_result_audit — Recompute n·y with exact rational arithmetic, not rounded decimals.
  • S005 · premise_and_result_audit — Recompute a·x with exact rational arithmetic, not rounded decimals.
  • S004 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S003 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S002 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S001 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.

Result

(5, 36, 1, Yes, 29)

The full substitutions and premise audits recover the original answer, retaining its field order and verdict meanings.

This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: d9db0e87fa7298a4cc001984d240ec0e1af1a91a4157c3a4b2ee08cc52d51c8d
  • candidate record SHA-256: 61c05048f821c231241ac496fadf0a24237f306cc328f4a548181f3d867a1177
  • semantic review receipt SHA-256: 6c2c6d46aded7582a11ac41a8c0b3bdde2669a53bdb6e796eea2039994a02772
  • question-first witness SHA-256: 77e43898df9efdbf8094ad81fe4ab91cf4b4bd82f481eb9b4699b73cb4da612b
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON