import math def intersection(function,x0,x1): #function is the f we want to find its root and x0 and x1 are two random starting points x_n = x0 x_n1 = x1 while True: x_n2 = x_n1-(function(x_n1)/((function(x_n1)-function(x_n))/(x_n1-x_n))) if abs(x_n2 - x_n1) < 10**-5: return x_n2 x_n=x_n1 x_n1=x_n2 def f(x): return math.pow(x , 3) - (2 * x) -5 if __name__ == "__main__": print(intersection(f,3,3.5))