public double getKokBisection() {

        double a1 = getBas();
        double b1 = getSon();
        double fa = 0;
        double fb = 0;
        double fc = 0;

        do {
            fa = 0;
            fb = 0;
            fc = 0;
            ara_deger = (a1 + b1) / 2;
            for (int i = 0; i < katsayilar.length; i++) {
                fa += (katsayilar[i] * Math.pow(a1, i));
                fb += (katsayilar[i] * Math.pow(b1, i));
                fc += (katsayilar[i] * Math.pow(ara_deger, i));
            }
            if (fa * fb >= 0) {
                if (fa == 0) {
                    return getBas();
                } else if (fb == 0) {
                    return getSon();
                } else {
                    return -11122233;
                }
            }
            if ((fa * fc) < 0) {
                b1 = getAra();
            } else if ((fa * fc) > 0) {
                a1 = getAra();
            }
        } while (Math.abs(fc) > epsilon);
        return getAra();
    }