Solve.js
function(symbol, solve_for) {
        var sols = [];
        //see if we can solve the factors
        var factors = core.Algebra.Factor.factor(symbol);
        if(factors.group === CB) {
            factors.each(function(x) {
                x = Symbol.unwrapPARENS(x);
                sols = sols.concat(solve(x, solve_for));
            });
        }
        return sols;
    }
function(symbol, solve_for) {
        var sols = [];
        //see if we can solve the factors
        var factors = core.Algebra.Factor.factor(symbol);
        if(factors.group === CB) {
            factors.each(function(x) {
                x = Symbol.unwrapPARENS(x);
                sols = sols.concat(solve(x, solve_for));
            });
        }
        return sols;
    }
function ( symbol , solve_for ) { var sols = [ ] ; //see if we can solve the factors
 var factors = core . Algebra . Factor . factor ( symbol ) ; if ( factors . group === CB ) { factors . each ( function ( x ) { x = Symbol . unwrapPARENS ( x ) ; sols = sols . concat ( solve ( x , solve_for ) ) ; } ) ; } return sols ; }
solve by divide and conquer
solve by divide and conquer