double secant(double infinum, double supremum, double epsilon)
{
while (fabs(supremum - infinum) > epsilon)
{
infinum = supremum - (supremum - infinum) * func(supremum) / (func(
supremum) - func(infinum));
supremum = infinum - (infinum - supremum) * func(infinum) / (func(
infinum) - func(supremum));
}
return supremum;
}