Explore related knowledge and questions →

Question 72: Normalize the Inverse Representative, Not the Bezout Coefficients

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 1

← Question derivation index · Original question batch

P250-0072 · q-20261014-advance-20261103-r07-modular-inverse-0072

Original question and givens

Use the original signed integer a=5 and modulus n=48≥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. Require gcd(a,n)=1. Give (a,n,inverse,product_mod_n,valid?,unique_modulo_n).

  • G001 — Use the original signed integer a=5 and modulus n=48≥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. Require gcd(a,n)=1. Give (a,n,inverse,product_mod_n,valid?,unique_modulo_n).

Definition and scope

Use integer modulus n≥2 with gcd(a,n)=1. Uniqueness concerns the residue class and its representative in the declared interval.

Step-by-step derivation

S001 · implies

Before

a=5, modulus=48

After

n=48≥2; seek u with 5u≡1 (mod 48)

Conditions: none

Fix the modulus and inverse condition; the integer product need not equal 1.

Step identifiers and dependencies

Rule: inverse_definition · Uses: G001

S002 · implies

Before

divide 5 by 48

After

5=0·48+5

Conditions: 0≤5<48

The quotient is 0 and remainder 5; continue with the preceding divisor and remainder.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S001

S003 · implies

Before

divide 48 by 5

After

48=9·5+3

Conditions: 0≤3<5

The quotient is 9 and remainder 3; continue with the preceding divisor and remainder.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S002

S004 · implies

Before

divide 5 by 3

After

5=1·3+2

Conditions: 0≤2<3

The quotient is 1 and remainder 2; continue with the preceding divisor and remainder.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S003

S005 · implies

Before

divide 3 by 2

After

3=1·2+1

Conditions: 0≤1<2

The quotient is 1 and remainder 1; continue with the preceding divisor and remainder.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S004

S006 · implies

Before

divide 2 by 1

After

2=2·1+0

Conditions: 0≤0<1

The quotient is 2 and remainder 0; continue with the preceding divisor and remainder.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S005

S007 · implies

Before

last nonzero Euclidean remainder

After

gcd(5,48)=1; 5·(-19)+48·(2)=1

Conditions: none

Track integer linear combinations along the division chain to obtain this explicit Bezout identity.

Step identifiers and dependencies

Rule: bezout_identity · Uses: G001, S006

S008 · implies

Before

5·(-19)+48·(2)=1

After

-19 mod 48=29; 0≤29<48

Conditions: none

The coefficient of a represents the inverse class; reduce it to the required representative interval.

Step identifiers and dependencies

Rule: normalize_residue · Uses: G001, S007

S009 · calculation

Before

a·u := mul(5, 29)

After

a·u = 145

Conditions: none

Multiply the original a by the normalized inverse.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S008

S010 · implies

Before

a·u=145

After

145=3·48+1 ⇒ a·u mod n=1

Conditions: none

The product minus 1 is an integer multiple of the modulus, verifying the inverse condition.

Step identifiers and dependencies

Rule: congruence_check · Uses: G001, S009

S011 · implies

Before

a·v≡a·u≡1 (mod n), gcd(a,n)=1

After

n divides v−u; if 0≤u,v<n then u=v

Conditions: none

From n|a(v−u), multiply the Bezout identity by v−u to get n|(v−u). Two normalized representatives differ by less than n in absolute value, so their difference is zero.

Step identifiers and dependencies

Rule: inverse_uniqueness · Uses: G001, S010

Reverse checks

  • S011 · premise_and_result_audit — The class and its normalized representative are unique; u+kn gives other integer representatives.
  • S010 · premise_and_result_audit — The quotient is an integer and the remainder really is 1.
  • S009 · premise_and_result_audit — Recompute a·u with exact rational arithmetic, not rounded decimals.
  • S008 · premise_and_result_audit — Normalize the inverse representative, not both Bezout coefficients.
  • S007 · premise_and_result_audit — Multiply out the identity directly rather than trusting a gcd label.
  • S006 · premise_and_result_audit — Check both the division identity and 0≤remainder<divisor.
  • S005 · premise_and_result_audit — Check both the division identity and 0≤remainder<divisor.
  • S004 · premise_and_result_audit — Check both the division identity and 0≤remainder<divisor.
  • S003 · premise_and_result_audit — Check both the division identity and 0≤remainder<divisor.
  • S002 · premise_and_result_audit — Check both the division identity and 0≤remainder<divisor.
  • S001 · premise_and_result_audit — A modular inverse requires gcd(a,n)=1.

Result

(5, 48, 29, 1, Yes, unique_modulo_n)

The inverse representative is 29, unique modulo 48.

This question review and source binding

Review date: 2026-10-24

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: 1014ac7996922e2ca5e6852cbe32a57f6e94038595bc5ae9968172049645e57d
  • candidate record SHA-256: ee22c8e1023480dad9be377805ca8c1828873d4838c85b886a4555e6f0eef794
  • semantic review receipt SHA-256: 4727d1bd957a9b7f6cadb7972ddb5ab80a31f5259dc5394c1dff2b71944ed36b
  • question-first witness SHA-256: 51e18649133238ac992229f6e16542a5f3af53ca73b2262ab0524508ea937dee
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON