if d == 0.0:
    return p2
else:
    p = p0 - (p1 - p0) * (p1 - p0) / d
if p0 == 0:
    relerr = p
else:
    relerr = (p - p0) / p0
if relerr < xtol:
    return p
p0 = p
raise RuntimeError('Failed to converge after %d iterations, value is %s' % (
    maxiter, p))
Решите это уравнение с итерацией с фиксированной точкой