diff --git a/polynomial.py b/polynomial.py
index 6268848d8e8baf08a6e51d221ff69c390fa5ba33..689002daa5148d0c7b4e3caef3363c7bed5c24b8 100644
--- a/polynomial.py
+++ b/polynomial.py
@@ -122,16 +122,11 @@ def compute_bachet_bezout(a, b):
 
 
 def modular_inverse(a, n):
-    res = -1
-    inverse = -1
-    i = 0
-    while res != 1:
-        if a * i % n == 1:
-            res = a * i % n
-            inverse = i
-            break
-        i += 1
-    return inverse
+    bachet_bezout = compute_bachet_bezout(a,n)
+    modular_inverse = bachet_bezout[0]
+    if a * modular_inverse % n == 1:
+        return modular_inverse
+    return None
 
 
 def compute_lagrange_polynomial(points, prime_number):