Algorithm
    
        | 
        Birge-Vieta method Steps (Rule)
         | 
    
    
        | 
        Step-1: 
         | 
        
        Find coefficient from the equation `a_0x^n + a_1x^(n-1) + a_2x^(n-2) + ... +  + a_nx^0`
          Let initial approximation be `p_0`
          `b_0 = a_0`;
		  `c_0 = a_0`;
         | 
    
    
        | 
        Step-2: 
         | 
        
        `b_i=a_i+p_0*b_(i-1)`
         | 
    
    
        | 
        Step-3: 
         | 
        
        `c_i=b_i+p_0*c_(i-1)`
         | 
    
    
        | 
        Step-4: 
         | 
        
        `p_1=p_0-b_n/c_(n-1)`
         | 
    
    
        | 
        Step-5: 
         | 
        
        if `|p_1-p_0| <= "Accuracy"` then answer is `p_1` and stop the procedure
         else `p_0=p_1` and goto step-2
         | 
    
    
Example-1
1. Find a root of polynomial using Birge-Vieta method
f(x) = x^3-x^2-x+1 and p0 = 0.5Solution:`x^3-x^2-x+1=0`
In this problem the coefficients are `a_0=1,a_1=-1,a_2=-1,a_3=1`
Let the initial approximation to p be `p_0=0.5`
`1^(st)` Iteration
 `p_0` `0.5` `p_0=0.5` |  `a_0` `1` `a_0=1` |  `a_1` `-1` `a_1=-1` |  `a_2` `-1` `a_2=-1` |  `a_3` `1` `a_3=1` | 
 |  |  `p_0*b_0` `0.5` `0.5=0.5*1` `p_0*b_0` |  `p_0*b_1` `-0.25` `-0.25=0.5*-0.5` `p_0*b_1` |  `p_0*b_2` `-0.62` `-0.62=0.5*-1.25` `p_0*b_2` | 
 |  `b_0` `1` `b_0=1` |  `b_1=a_1+p_0*b_0` `-0.5` `-0.5=-1+0.5` `b_1=a_1+p_0*b_0` |  `b_2=a_2+p_0*b_1` `-1.25` `-1.25=-1-0.25` `b_2=a_2+p_0*b_1` |  `b_3=a_3+p_0*b_2` `0.38` `0.38=1-0.62` `b_3=a_3+p_0*b_2` | 
 |  |  `p_0*c_0` `0.5` `0.5=0.5*1` `p_0*c_0` |  `p_0*c_1` `0` `0=0.5*0` `p_0*c_1` |  | 
 |  `c_0` `1` `c_0=1` |  `c_1=b_1+p_0*c_0` `0` `0=-0.5+0.5` `c_1=b_1+p_0*c_0` |  `c_2=b_2+p_0*c_1` `-1.25` `-1.25=-1.25` `c_2=b_2+p_0*c_1` |  | 
`p_1=p_0-b_3/c_2=0.5-(0.38)/(-1.25)=0.8`
`2^(nd)` Iteration
 `p_1` `0.8` `p_1=0.8` |  `a_0` `1` `a_0=1` |  `a_1` `-1` `a_1=-1` |  `a_2` `-1` `a_2=-1` |  `a_3` `1` `a_3=1` | 
 |  |  `p_1*b_0` `0.8` `0.8=0.8*1` `p_1*b_0` |  `p_1*b_1` `-0.16` `-0.16=0.8*-0.2` `p_1*b_1` |  `p_1*b_2` `-0.93` `-0.93=0.8*-1.16` `p_1*b_2` | 
 |  `b_0` `1` `b_0=1` |  `b_1=a_1+p_1*b_0` `-0.2` `-0.2=-1+0.8` `b_1=a_1+p_1*b_0` |  `b_2=a_2+p_1*b_1` `-1.16` `-1.16=-1-0.16` `b_2=a_2+p_1*b_1` |  `b_3=a_3+p_1*b_2` `0.07` `0.07=1-0.93` `b_3=a_3+p_1*b_2` | 
 |  |  `p_1*c_0` `0.8` `0.8=0.8*1` `p_1*c_0` |  `p_1*c_1` `0.48` `0.48=0.8*0.6` `p_1*c_1` |  | 
 |  `c_0` `1` `c_0=1` |  `c_1=b_1+p_1*c_0` `0.6` `0.6=-0.2+0.8` `c_1=b_1+p_1*c_0` |  `c_2=b_2+p_1*c_1` `-0.68` `-0.68=-1.16+0.48` `c_2=b_2+p_1*c_1` |  | 
`p_2=p_1-b_3/c_2=0.8-(0.07)/(-0.68)=0.91`
`3^(rd)` Iteration
 `p_2` `0.91` `p_2=0.91` |  `a_0` `1` `a_0=1` |  `a_1` `-1` `a_1=-1` |  `a_2` `-1` `a_2=-1` |  `a_3` `1` `a_3=1` | 
 |  |  `p_2*b_0` `0.91` `0.91=0.91*1` `p_2*b_0` |  `p_2*b_1` `-0.09` `-0.09=0.91*-0.09` `p_2*b_1` |  `p_2*b_2` `-0.98` `-0.98=0.91*-1.09` `p_2*b_2` | 
 |  `b_0` `1` `b_0=1` |  `b_1=a_1+p_2*b_0` `-0.09` `-0.09=-1+0.91` `b_1=a_1+p_2*b_0` |  `b_2=a_2+p_2*b_1` `-1.09` `-1.09=-1-0.09` `b_2=a_2+p_2*b_1` |  `b_3=a_3+p_2*b_2` `0.02` `0.02=1-0.98` `b_3=a_3+p_2*b_2` | 
 |  |  `p_2*c_0` `0.91` `0.91=0.91*1` `p_2*c_0` |  `p_2*c_1` `0.74` `0.74=0.91*0.81` `p_2*c_1` |  | 
 |  `c_0` `1` `c_0=1` |  `c_1=b_1+p_2*c_0` `0.81` `0.81=-0.09+0.91` `c_1=b_1+p_2*c_0` |  `c_2=b_2+p_2*c_1` `-0.35` `-0.35=-1.09+0.74` `c_2=b_2+p_2*c_1` |  | 
`p_3=p_2-b_3/c_2=0.91-(0.02)/(-0.35)=0.95`
Approximate root = 0.95
This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then