diff --git a/DIRECTORY.md b/DIRECTORY.md
index f0a34a553946..8854369894a3 100644
--- a/DIRECTORY.md
+++ b/DIRECTORY.md
@@ -719,6 +719,7 @@
   * [Pollard Rho](maths/pollard_rho.py)
   * [Polynomial Evaluation](maths/polynomial_evaluation.py)
   * Polynomials
+    * [Legendre](maths/polynomials/legendre.py)
     * [Single Indeterminate Operations](maths/polynomials/single_indeterminate_operations.py)
   * [Power Using Recursion](maths/power_using_recursion.py)
   * [Prime Check](maths/prime_check.py)
diff --git a/maths/polynomials/legendre.py b/maths/polynomials/legendre.py
new file mode 100644
index 000000000000..d5cbb2564c59
--- /dev/null
+++ b/maths/polynomials/legendre.py
@@ -0,0 +1,55 @@
+# Imports de bibliothèques standard
+from math import factorial
+
+# Imports de bibliothèques tierces
+import pytest
+from numpy.polynomial import Polynomial
+
+
+def legendre(n: int) -> list[float]:
+    """
+    Compute the coefficients of the nth Legendre polynomial.
+
+    The Legendre polynomials are solutions to Legendre's differential equation
+    and are widely used in physics and engineering.
+
+    Parameters:
+        n (int): The order of the Legendre polynomial.
+
+    Returns:
+        list[float]: Coefficients of the polynomial in ascending order of powers.
+    """
+    legendre_polynomial = (1 / (factorial(n) * (2**n))) * (Polynomial([-1, 0, 1]) ** n)
+    return legendre_polynomial.deriv(n).coef.tolist()
+
+
+def test_legendre_0() -> None:
+    """Test the 0th Legendre polynomial."""
+    assert legendre(0) == [1.0], "The 0th Legendre polynomial should be [1.0]"
+
+
+def test_legendre_1() -> None:
+    """Test the 1st Legendre polynomial."""
+    assert legendre(1) == [0.0, 1.0], "The 1st Legendre polynomial should be [0.0, 1.0]"
+
+
+def test_legendre_2() -> None:
+    """Test the 2nd Legendre polynomial."""
+    assert legendre(2) == [-0.5, 0.0, 1.5]
+    "The 2nd Legendre polynomial should be [-0.5, 0.0, 1.5]"
+
+
+def test_legendre_3() -> None:
+    """Test the 3rd Legendre polynomial."""
+    assert legendre(3) == [0.0, -1.5, 0.0, 2.5]
+    "The 3rd Legendre polynomial should be [0.0, -1.5, 0.0, 2.5]"
+
+
+def test_legendre_4() -> None:
+    """Test the 4th Legendre polynomial."""
+    assert legendre(4) == pytest.approx([0.375, 0.0, -3.75, 0.0, 4.375])
+    "The 4th Legendre polynomial should be [0.375, 0.0, -3.75, 0.0, 4.375]"
+
+
+if __name__ == "__main__":
+    pytest.main()