public class Main {
static double f(double x) {
return (x * x - 10) * x - 10;
}
public static void main
(String[] args
) {
double x1 = 4;
double x2 = 2;
double eps = 1e-6;
double x3 = 0;
System.
out.
println("Enter the value of x1: 4"); System.
out.
println("Enter the value of x2: 2\n");
System.
out.
println("Iteration x1\t\t x2\t\t x3\t\t f(x1)\t\t f(x2)"); System.
out.
println("-------------");
int iter = 1;
while (true) {
double f1 = f(x1);
double f2 = f(x2);
x3 = x2 - f2 * (x2 - x1) / (f2 - f1);
System.
out.
printf("%-10d %.6f %.6f %.6f %.6f %.6f\n",
iter, x1, x2, x3, f1, f2);
if (Math.
abs(f
(x3
)) < eps
) break;
x1 = x2;
x2 = x3;
iter++;
}
System.
out.
println("\nApproximate root = " + x3
); }
}
cHVibGljIGNsYXNzIE1haW4gewoKICAgIAogICAgc3RhdGljIGRvdWJsZSBmKGRvdWJsZSB4KSB7CiAgICAgICAgcmV0dXJuICh4ICogeCAtIDEwKSAqIHggLSAxMDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgogICAgICAgIGRvdWJsZSB4MSA9IDQ7ICAgICAgCiAgICAgICAgZG91YmxlIHgyID0gMjsgICAgICAKICAgICAgICBkb3VibGUgZXBzID0gMWUtNjsKICAgICAgICBkb3VibGUgeDMgPSAwOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkVudGVyIHRoZSB2YWx1ZSBvZiB4MTogNCIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgdGhlIHZhbHVlIG9mIHgyOiAyXG4iKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJJdGVyYXRpb24gICB4MVx0XHQgeDJcdFx0IHgzXHRcdCBmKHgxKVx0XHQgZih4MikiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0iKTsKCiAgICAgICAgaW50IGl0ZXIgPSAxOwoKICAgICAgICB3aGlsZSAodHJ1ZSkgewoKICAgICAgICAgICAgZG91YmxlIGYxID0gZih4MSk7CiAgICAgICAgICAgIGRvdWJsZSBmMiA9IGYoeDIpOwoKICAgICAgICAgICAgeDMgPSB4MiAtIGYyICogKHgyIC0geDEpIC8gKGYyIC0gZjEpOwoKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGYoIiUtMTBkICUuNmYgICUuNmYgICUuNmYgICUuNmYgICUuNmZcbiIsCiAgICAgICAgICAgICAgICAgICAgaXRlciwgeDEsIHgyLCB4MywgZjEsIGYyKTsKCiAgICAgICAgICAgIGlmIChNYXRoLmFicyhmKHgzKSkgPCBlcHMpCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIHgxID0geDI7CiAgICAgICAgICAgIHgyID0geDM7CiAgICAgICAgICAgIGl0ZXIrKzsKICAgICAgICB9CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG5BcHByb3hpbWF0ZSByb290ID0gIiArIHgzKTsKICAgIH0KfQo=