Sub FixPoint()

 TOL = Cells(4, 2)
 maxi = Cells(4, 3)
 p0 = Cells(5, 2)
 p1 = g(p0)
 i = 7
 Do While (Abs(f(p1)) > TOL And i < maxi)
    p1 = g(p0)
    Cells(i, 10) = p1
    e0 = e1
    e1 = e2
    e2 = Abs(TR - p1)
    If (i >= 9) Then Cells(i, 11) = Log(e2 / e1) / Log(e1 / e0)
    p0 = p1
    i = i + 1
 Loop

End Sub

Sub Newton()

 TOL = Cells(4, 2)
 maxi = Cells(4, 3)
 p0 = Cells(5, 3)
 p1 = p0 - f(p0) / fp(p0)
 i = 7
 Do While (Abs(f(p1)) > TOL And i < maxi)
    p1 = p0 - f(p0) / fp(p0)
    Cells(i, 8) = p1
    e0 = e1
    e1 = e2
    e2 = Abs(TR - p1)
    If (i >= 9) Then Cells(i, 9) = Log(e2 / e1) / Log(e1 / e0)
    p0 = p1
    i = i + 1
 Loop

End Sub


Sub Scant()

 TOL = Cells(4, 2)
 maxi = Cells(4, 3)
 p0 = Cells(5, 2)
 p1 = Cells(5, 3)
 p2 = p1 - f(p1) * (p1 - p0) / (f(p1) - f(p0))
 i = 7
 Do While (Abs(f(p2)) > TOL And i < maxi)
    p2 = p1 - f(p1) * (p1 - p0) / (f(p1) - f(p0))
    Cells(i, 6) = p2
    e0 = e1
    e1 = e2
    e2 = Abs(TR - p2)
    If (i >= 9) Then Cells(i, 7) = Log(e2 / e1) / Log(e1 / e0)
    p0 = p1
    p1 = p2
    i = i + 1
 Loop

End Sub


Sub FalsePosi()

 TOL = Cells(4, 2)
 maxi = Cells(4, 3)
 p0 = Cells(5, 2)
 p1 = Cells(5, 3)
 p2 = (f(p1) * p0 - f(p0) * p1) / (f(p1) - f(p0))
 i = 7
 Do While (Abs(f(p2)) > TOL And i < maxi)
    If (f(p1) * f(p2) < 0) Then
        p0 = p2
    ElseIf (f(p1) * f(p2) > 0) Then
        p1 = p2
    Else
        Exit Sub
    End If
    p2 = (f(p1) * p0 - f(p0) * p1) / (f(p1) - f(p0))
    Cells(i, 4) = p2
    e0 = e1
    e1 = e2
    e2 = Abs(TR - p2)
    If (i >= 9) Then Cells(i, 5) = Log(e2 / e1) / Log(e1 / e0)
    i = i + 1
 Loop

End Sub


Sub Biset()

 TOL = Cells(4, 2)
 maxi = Cells(4, 3)
 a = Cells(5, 2)
 b = Cells(5, 3)
 c = (a + b) / 2
 i = 7
 Do While (Abs(f(c)) > TOL And i < maxi)
    If (f(a) * f(c) > 0) Then
        a = c
    ElseIf (f(a) * f(c) < 0) Then
        b = c
    Else
        Exit Sub
    End If
    c = (a + b) / 2
     
    e0 = e1
    e1 = e2
    e2 = Abs(TR - c)
    Cells(i, 2) = c
    If (i >= 9) Then Cells(i, 3) = Log(e2 / e1) / Log(e1 / e0)
    i = i + 1
 Loop

End Sub

Function f(x)
      f = x ^ 3 + 2 * x - 5
     ' f = x ^ 3 - 2
End Function

Function fp(x)
      fp = 3 * x ^ 2 + 2
      'fp = 3 * x ^ 2
End Function

Function g(x)
     g = (5 - 2 * x) ^ (1 / 3)
End Function