Итак, надо решить такую задачу.
xb = a, a > 0, или xb — a = 0
Метод Ньютона говорит:
xn+1 = xn − f(x) / f′(x)
xn+1 = xn − (xnb — a) / (b·xnb−1) = (xn − a/(xnb−1))/b
Поскольку функция возрастает и выпукла вниз, x1 лучше брать завышенный. Идеал — хаки с дробными числами (например, заполучить порядок и взять начальным приближением 2[ord/b] для отрицательного порядка и 2[ord/b] + 1 для неотрицательного.
[x] — усечение дробного числа, при целом b [ord/b] = ord div b. Чтобы заполучить порядок, похимичить с ним и снова собрать в машинное дробное, можно воспользоваться функциями Delphi Frexp и Ldexp, они очень быстры.
Заканчивать когда |xn+1 − xn| меньше e. Поскольку у метода сходимость квадратичная, почти гарантированно получим нужную нам точность.
Поскольку для проверки точности нам нужны два приближения, n и n+1, их и храним.
И последнее. Поверь мне, прекрасная леди, никто не будет решать тебе учебную задачу до конца.