#include <bits/stdc++.h>
using namespace std;
double f(double x) 
{
    double coe[] = {1, 0, -4, -9};
    double result = coe[0];
    for (int i = 1; i < 4; i++)
        result = result * x + coe[i];
    return result;
}
 
int main()
{
    double x1, x2;
    cout << "Enter the value of x1: ";
    cin >> x1;
    cout << "\nEnter the value of x2: ";
    cin >> x2;
 
    cout << "\n\n";
    cout << "   Iteration" << setw(10) << "x1" << setw(12) << "x2"
         << setw(12) << "x3" << setw(12) << "f(x1)" << setw(12) << "f(x2)" << endl;
    cout << "   --------------------------------------------------------------------------\n";
 
    double f1 = f(x1);
    double f2 = f(x2);
    double x3, f3;
    int step = 1;
 
    do {
        x3 = (f2 * x1 - f1 * x2) / (f2 - f1);
        f3 = f(x3);
 
        cout << setw(8) << step
             << setw(14) << fixed << setprecision(6) << x1   << setw(12) << x2 << setw(12) << x3
             << setw(12) << f1  << setw(12) << f2 << endl;
 
        if (fabs(f3) < 0.00001)
            break;
 
        x1 = x2;
        f1 = f2;
        x2 = x3;
        f2 = f3;
        step++;
    } while (step <= 8);
 
    cout << "   --------------------------------------------------------------------------\n";
    cout << "\n   Approximate root = " << fixed << setprecision(6) << x3 << endl;
    cout << endl;
 
    return 0;
}
 
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRvdWJsZSBmKGRvdWJsZSB4KSAKewogICAgZG91YmxlIGNvZVtdID0gezEsIDAsIC00LCAtOX07CiAgICBkb3VibGUgcmVzdWx0ID0gY29lWzBdOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCA0OyBpKyspCiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogeCArIGNvZVtpXTsKICAgIHJldHVybiByZXN1bHQ7Cn0KCmludCBtYWluKCkKewogICAgZG91YmxlIHgxLCB4MjsKICAgIGNvdXQgPDwgIkVudGVyIHRoZSB2YWx1ZSBvZiB4MTogIjsKICAgIGNpbiA+PiB4MTsKICAgIGNvdXQgPDwgIlxuRW50ZXIgdGhlIHZhbHVlIG9mIHgyOiAiOwogICAgY2luID4+IHgyOwoKICAgIGNvdXQgPDwgIlxuXG4iOwogICAgY291dCA8PCAiICAgSXRlcmF0aW9uIiA8PCBzZXR3KDEwKSA8PCAieDEiIDw8IHNldHcoMTIpIDw8ICJ4MiIKICAgICAgICAgPDwgc2V0dygxMikgPDwgIngzIiA8PCBzZXR3KDEyKSA8PCAiZih4MSkiIDw8IHNldHcoMTIpIDw8ICJmKHgyKSIgPDwgZW5kbDsKICAgIGNvdXQgPDwgIiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKICAgIGRvdWJsZSBmMSA9IGYoeDEpOwogICAgZG91YmxlIGYyID0gZih4Mik7CiAgICBkb3VibGUgeDMsIGYzOwogICAgaW50IHN0ZXAgPSAxOwoKICAgIGRvIHsKICAgICAgICB4MyA9IChmMiAqIHgxIC0gZjEgKiB4MikgLyAoZjIgLSBmMSk7CiAgICAgICAgZjMgPSBmKHgzKTsKCiAgICAgICAgY291dCA8PCBzZXR3KDgpIDw8IHN0ZXAKICAgICAgICAgICAgIDw8IHNldHcoMTQpIDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbig2KSA8PCB4MSAgIDw8IHNldHcoMTIpIDw8IHgyIDw8IHNldHcoMTIpIDw8IHgzCiAgICAgICAgICAgICA8PCBzZXR3KDEyKSA8PCBmMSAgPDwgc2V0dygxMikgPDwgZjIgPDwgZW5kbDsKCiAgICAgICAgaWYgKGZhYnMoZjMpIDwgMC4wMDAwMSkKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIHgxID0geDI7CiAgICAgICAgZjEgPSBmMjsKICAgICAgICB4MiA9IHgzOwogICAgICAgIGYyID0gZjM7CiAgICAgICAgc3RlcCsrOwogICAgfSB3aGlsZSAoc3RlcCA8PSA4KTsKCiAgICBjb3V0IDw8ICIgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKICAgIGNvdXQgPDwgIlxuICAgQXBwcm94aW1hdGUgcm9vdCA9ICIgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDYpIDw8IHgzIDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K