Я немного переформулирую задачу, поскольку чем ближе к 0, тем меньше разница между s и y. Найти максимальное значение x с точностью epsx, при котором погрешность не превышает eps.
Данное значение находится между 0 и 1.
min:=0;
max:=1;
eps:=0.01;
epsx:=0.0001;
Вычтем s из y. Данная функция возрастает. Для учета погрешности вычтем eps из разности y и s. Фукция (y-s-eps) меняет знак в одной точке на интервале от 0 до 1. Найдем эту точку с погрешностью epsx делением отрезка пополам. Мы делим отрезок, и в зависимости от знака, используем либо левую часть отрезка, либо правую. Когда ширина отрезка станет меньше epsx, необходимое значение будет найдено.
Пишем цикл:
repeat
y:=(1/2)*ln((1+(max+min)/2)/(1-(max+min)/2));
s:=(max+min)/2+exp(3*ln((max+min)/2))/3+exp(5*ln((max+min)/2))/5+exp(7*ln((max+min)/2))/7;
if (y-s-eps)<0 then
min:=(max+min)/2
else
max:=(max+min)/2;
until max-min<epsx;
Значение (max+min)/2 и будет искомым значением.