Failing to find the root with scipy.optimize.newton

Question Q8.4.2

Using scipy.optimize.newton to find a root of the following functions (with the given starting point, $x_0$) fails. Explain why and find the roots either by modifying the call to newton or by using a different method.

(a) $$ f(x) = x^3 - 5x, \quad x_0 = 1 $$

(b) $$ f(x) = x^3 - 3x + 1, \quad x_0 = 1 $$

(c) $$ f(x) = 2-x^5, \quad x_0 = 0.01 $$

(d) $$ f(x) = x^4 - (4.29)x^2 -5.29, \quad x_0 = 0.8 $$


Solution Q8.4.2