  A[i] = [];
        for(var j = 0; j < runge_n; ++j){
            A[i][j] = Math.pow(runge_xs[i], j);
        }
        B[i] = runge_ys[i];
    }

    X = solved_linear(A, B, runge_n);

    runge_context.beginPath();
    for(var j = 1; j < w; ++j){
        x1 = client_to_x(j-1);
        x2 = client_to_x(j);
        y1 = polynomial_in_x(X, x1, runge_n);
        y2 = polynomial_in_x(X, x2, runge_n);
        runge_context.moveTo(x_to_client(x1), y_to_client(y1));
        runge_context.lineTo(x_to_client(x2), 