# Program to find root of an equations using secant method in C++

C++Server Side ProgrammingProgramming

In this tutorial, we will be discussing a program to find the root of an equation using secant method.

For this we will be provided with an equation. Our task is to find the roots of that equation using the iterative secant method.

## Example

Live Demo

#include <bits/stdc++.h>
using namespace std;
float f(float x) {
float f = pow(x, 3) + x - 1;
return f;
}
void secant(float x1, float x2, float E) {
float n = 0, xm, x0, c;
if (f(x1) * f(x2) < 0) {
do {
//calculating the intermediate value
x0 = (x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1));
c = f(x1) * f(x0);
x1 = x2;
x2 = x0;
n++;
if (c == 0)
break;
xm = (x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1));
} while (fabs(xm - x0) >= E);
cout << "Root of the given equation=" << x0 << endl;
cout << "No. of iterations = " << n << endl;
} else
cout << "Can not find a root in the given inteval";
}
int main() {
// initializing the values
float x1 = 0, x2 = 1, E = 0.0001;
secant(x1, x2, E);
return 0;
}

## Output

Root of the given equation=0.682326
No. of iterations = 5