#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double f(double x) {
return x*x*x - x - 2;
}
int main() {
double x1, x2, x3, f1, f2, tolerance;
int iteration = 0, max_iterations = 1000;
cout << "Enter the value of x1: ";
cin >> x1;
cout << "Enter the value of x2: ";
cin >> x2;
cout << "Enter tolerance value: ";
cin >> tolerance;
cout << "\nIteration\t x1\t\t x2\t\t x3\t\t f(x1)\t\t f(x2)\n";
cout << fixed << setprecision(6);
do {
f1 = f(x1);
f2 = f(x2);
if (fabs(f2 - f1) < 1e-12) {
cout << "ভাগফল শূন্যের কাছাকাছি, গণনা করা যায় না।" << endl;
break;
}
x3 = (f2 * x1 - f1 * x2) / (f2 - f1);
double fx3 = f(x3);
cout << iteration + 1 << "\t\t " << x1 << "\t " << x2 << "\t " << x3
<< "\t " << f1 << "\t " << f2 << endl;
x1 = x2;
x2 = x3;
f1 = f2;
f2 = fx3;
iteration++;
if (iteration >= max_iterations) {
cout << "সমাধান নির্ধারিত সংখ্যক ধাপে সন্নিকটে পৌঁছায়নি।" << endl;
break;
}
} while (fabs(f(x3)) > tolerance);
if (fabs(f(x3)) <= tolerance) {
cout << "\nApproximate root = " << x3 << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKZG91YmxlIGYoZG91YmxlIHgpIHsKICAgIHJldHVybiB4KngqeCAtIHggLSAyOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSB4MSwgeDIsIHgzLCBmMSwgZjIsIHRvbGVyYW5jZTsKICAgIGludCBpdGVyYXRpb24gPSAwLCBtYXhfaXRlcmF0aW9ucyA9IDEwMDA7CgogICAgY291dCA8PCAiRW50ZXIgdGhlIHZhbHVlIG9mIHgxOiAiOwogICAgY2luID4+IHgxOwogICAgY291dCA8PCAiRW50ZXIgdGhlIHZhbHVlIG9mIHgyOiAiOwogICAgY2luID4+IHgyOwogICAgY291dCA8PCAiRW50ZXIgdG9sZXJhbmNlIHZhbHVlOiAiOwogICAgY2luID4+IHRvbGVyYW5jZTsKCiAgICBjb3V0IDw8ICJcbkl0ZXJhdGlvblx0IHgxXHRcdCB4Mlx0XHQgeDNcdFx0IGYoeDEpXHRcdCBmKHgyKVxuIjsKICAgIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDYpOwoKICAgIGRvIHsKICAgICAgICBmMSA9IGYoeDEpOwogICAgICAgIGYyID0gZih4Mik7CgogICAgICAgIGlmIChmYWJzKGYyIC0gZjEpIDwgMWUtMTIpIHsKICAgICAgICAgICAgY291dCA8PCAi4Kat4Ka+4KaX4Kar4KayIOCmtuCnguCmqOCnjeCmr+Cnh+CmsCDgppXgpr7gppvgpr7gppXgpr7gppvgpr8sIOCml+Cmo+CmqOCmviDgppXgprDgpr4g4Kav4Ka+4Kav4Ka8IOCmqOCmvuClpCIgPDwgZW5kbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICB4MyA9IChmMiAqIHgxIC0gZjEgKiB4MikgLyAoZjIgLSBmMSk7CiAgICAgICAgZG91YmxlIGZ4MyA9IGYoeDMpOwoKICAgICAgICBjb3V0IDw8IGl0ZXJhdGlvbiArIDEgPDwgIlx0XHQgIiA8PCB4MSA8PCAiXHQgIiA8PCB4MiA8PCAiXHQgIiA8PCB4MwogICAgICAgICAgICAgPDwgIlx0ICIgPDwgZjEgPDwgIlx0ICIgPDwgZjIgPDwgZW5kbDsKCiAgICAgICAgeDEgPSB4MjsKICAgICAgICB4MiA9IHgzOwogICAgICAgIGYxID0gZjI7CiAgICAgICAgZjIgPSBmeDM7CgogICAgICAgIGl0ZXJhdGlvbisrOwoKICAgICAgICBpZiAoaXRlcmF0aW9uID49IG1heF9pdGVyYXRpb25zKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIuCmuOCmruCmvuCmp+CmvuCmqCDgpqjgpr/gprDgp43gpqfgpr7gprDgpr/gpqQg4Ka44KaC4KaW4KeN4Kav4KaVIOCmp+CmvuCmquCnhyDgprjgpqjgp43gpqjgpr/gppXgpp/gp4cg4Kaq4KeM4KaB4Kab4Ka+4Kav4Ka84Kao4Ka/4KWkIiA8PCBlbmRsOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgfSB3aGlsZSAoZmFicyhmKHgzKSkgPiB0b2xlcmFuY2UpOwoKICAgIGlmIChmYWJzKGYoeDMpKSA8PSB0b2xlcmFuY2UpIHsKICAgICAgICBjb3V0IDw8ICJcbkFwcHJveGltYXRlIHJvb3QgPSAiIDw8IHgzIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K