# Find Root using Newton-Raphson method in C++

### Newton-Raphson Method:

The Newton-Raphson method (also known as Newton’s method) is a way to quickly find a good approximation for the root of a real-valued function f(x) = 0. It uses the idea that a continuous and differentiable function can be approximated by a straight line tangent to it.
Newton-Raphson formula:

### How it works:

Suppose you need to find the root of a continuous, differentiable function f(x), and you know the root you are looking for is near the point x = x_0. Then Newton’s method tells us that a better approximation for the root is

x_1 = x_0 – \frac{f(x_0)}{f'(x_0)}.

This process may be repeated as many times as necessary to get the desired accuracy. In general, for any x-value x_n, the next value is given by

x_{n+1} = x_n – \frac{f(x_n)}{f'(x_n)}.

Note: the term “near” is used loosely because it does not need a precise definition in this context. However, x_0 should be closer to the root you need than to any other root (if the function has multiple roots)

### C++ program to find root using Newton-Raphson method:

#include <iostream>
#include <math.h>
using namespace std;
float fn(float x)
{
return  pow(x,2)+(3*x)+1 ;
}
float de(float x)
{
return  2*x + 3 ;
}
int main()
{   float a,e=0,z;
cout<<"Enter Number ";
cin>>a;
do
{   e++;
z=a-(fn(a)/de(a));
cout<<"The iterative "<<e<<" root is "<<z;
a=z;
cout<<endl;
}while(abs(fn(z))>0.001);
return 0;
}

### Output:

$g++ -o main *.cpp$main
Enter Number The iterative 1 root is -0.333333
The iterative 2 root is -0.380952
The iterative 3 root is -0.381966

Please comment in case of any query, issues or concerns.