Algebra.js
function(c1, c2, n, p) {
                    var candidate = Polynomial.fit(c1, c2, n, base, p, v);
                    if(candidate && candidate.coeffs.length > 1) {
                        var t = poly.divide(candidate);
                        if(t[1].equalsNumber(0)) {
                            factors.add(candidate.toSymbol());
                            return [t[0], candidate];
                        }
                    }
                    return null;
                }
function(c1, c2, n, p) {
                    var candidate = Polynomial.fit(c1, c2, n, base, p, v);
                    if(candidate && candidate.coeffs.length > 1) {
                        var t = poly.divide(candidate);
                        if(t[1].equalsNumber(0)) {
                            factors.add(candidate.toSymbol());
                            return [t[0], candidate];
                        }
                    }
                    return null;
                }
function ( c1 , c2 , n , p ) { var candidate = Polynomial . fit ( c1 , c2 , n , base , p , v ) ; if ( candidate && candidate . coeffs . length > 1 ) { var t = poly . divide ( candidate ) ; if ( t [ 1 ] . equalsNumber ( 0 ) ) { factors . add ( candidate . toSymbol ( ) ) ; return [ t [ 0 ] , candidate ] ; } } return null ; }
the polynmial variable name 
Attempt to remove a root by division given a number by first creating
a polynomial fromt he given information
@param {int} c1 - coeffient for the constant
@param {int} c2 - coefficient for the LT
@param {int} n - the number to be used to construct the polynomial
@param {int} p - the power at which to create the polynomial
@returns {null|Polynomial} - returns polynomial if successful otherwise null
the polynmial variable name Attempt to remove a root by division given a number by first creating a polynomial fromt he given information