def moindrescarres(x, y, m):
    n = len(x)
    A = np.zeros((n, m+1))

    for i in range(m+1):
        A[:, i] = x**i

    # Resoudre le systeme d'éq normales AtAx=Atb
    a = np.linalg.solve(A.T @ A, A.T @ y)

    return a