diff --git a/polynome.py b/polynome.py
index 6d28631c74b38f487501928222de40153c487b2f..2f8be27262a6a75eb5588d80c73ed755629eb62f 100644
--- a/polynome.py
+++ b/polynome.py
@@ -38,7 +38,7 @@ class polynome():
         coeff_poly_res = [0] * (len(self.coefs) + len(poly_2.coefs) - 1)
         for index_1, value_1 in enumerate(self.coefs):
             for index_2, value_2 in enumerate(poly_2.coefs):
-                coeff_poly_res[index_1 + index_2] += value_1 * value_2
+                coeff_poly_res[index_1 + index_2] += (value_1 * value_2) % self.prime_mod
         return polynome(coeff_poly_res)
     
     def evaluate(self, x):
@@ -46,4 +46,4 @@ class polynome():
         res = 0
         for i in range(len(self.coefs) - 1, -1, -1):
             res = (res * x + self.coefs[i])
-        return res
+        return (res % self.prime_mod)
diff --git a/reed_solomon.py b/reed_solomon.py
index 222705b7c976f7306aee85337112bb88b96ff868..0e7efb1facec1883663457e7528209a5b3c9ce95 100644
--- a/reed_solomon.py
+++ b/reed_solomon.py
@@ -1,5 +1,6 @@
 # Created on 09/12/2021
 from polynome import *
+from inverse_mult import *
 from itertools import combinations
 
 def get_possibilities(l: list):
@@ -22,14 +23,24 @@ def get_possibilities(l: list):
 	return p
 
 def lagrange_compute(l: list) -> polynome:
-	pass
+	poly_l = [0] * len(l)
+	poly = polynome(poly_l)
+	for x_i, y_i in enumerate(l):
+		poly_n = polynome([1])
+		for x_k, y_k in enumerate(l):
+			if x_k != x_i:
+				d = inverse_mult((x_i-x_k) % poly_n.prime_mod, poly_n.prime_mod)
+				poly_n = poly_n.mul(polynome([-x_k * d % poly_n.prime_mod, d % poly_n.prime_mod]))
+		poly_n = poly_n.mul(polynome([y_i[1] % poly_n.prime_mod]))
+		poly = poly.add(poly_n)
+	return poly
 
 def check_nb_error(l: list, p: polynome) -> int:
 	
 	nbr_error = 0
 	for _, item in enumerate(l):
 		if (item % p.prime_mod) != (p.evaluate(_) % p.prime_mod):
-			print(f"{item} != p.evaluate({_}) = {p.evaluate(_)}")
+			print(f"DEBUG PURPOSES ONLY {item} != p.evaluate({_}) = {p.evaluate(_)}")
 			nbr_error += 1
 	return nbr_error