randRange(2, 9) randFromArray([-1, 1]) randFromArrayExclude([3, 5, 7, 9], [a]) b_sign*b_abs randFromArrayExclude(getFactors(a * b_abs), [1]) a + b a * b / A getGCD(A, a) b_sign * getGCD(b_abs, C) simplify(polynomial([A, B, C], "x"), simplifyOptions.basic) parse("(" + F1 + "x+" + F2 + ")(" + A / F1 + "x+" + a / F1 + ")") parse(F1 + "x(" + A / F1 + "x+" + a / F1 + ")+" + F2 + "(" + b / F2 + "x+" + C / F2 + ")}") [parse("#{ab} &=& #{A}*#{C} &=& " + (A*C), [GREEN, BLUE, ORANGE]), parse("#{a}+#{b} &=& #{B} &=& #{" + B, [GREEN, GREEN, PINK])]

Factor the following expression:

`format(PROBLEM, "large")`

jQuery("div.instruction input").val()
return isEqual(parse(guess), SOLUTION);
jQuery("div.instruction input").val(guess);
a factored expression, like (x+1)(x+2)

The expression is of the form `parseFormat("#{A}x^2+#{B}x+#{C}}", [BLUE, PINK, ORANGE])`. You can factor this trinomial by grouping. In this case, `\blue{A}=\blue{A}`, `\pink{B}=\pink{B}`, `\orange{C}=\orange{C}`

To do this, the first step is to find two values `\green{a}` and `\green{b}`, such that:

`parseFormat("#{ab} = #{A}*#{C}", [GREEN, BLUE, ORANGE])`

`parseFormat("#{a}+#{b} = #{B}", [GREEN, GREEN, PINK])`

The next step is to rewrite the expression as `parseFormat("#{A}x^2 + #{a}x + #{b}x + #{C}", [BLUE, GREEN, GREEN, ORANGE])` or `parseFormat("(#{A}x^2 + #{a}x) + (#{b}x + #{C})", [BLUE, GREEN, GREEN, ORANGE])`, and factor each term, to find a common factor.

To apply the first step, you need to find `\green{a}` and `\green{b}` such that:

`formatGroup(GROUP1, [0,1])`

The following values can be used:

`parseFormat("#{a}=#{" + a + "}", [GREEN, GREEN])`
`parseFormat("#{b}=#{" + b + "}", [GREEN, GREEN])`

For the second step, rewrite the expression as:

`parseFormat("#{" + A + "}x^2+#{" + a + "}x+#{" + b + "}x+#{" + C + "}}", [BLUE, GREEN, GREEN, ORANGE])`

or

`parseFormat("(#{" + A + "}x^2+#{" + a + "}x)+(#{" + b + "}x+#{" + C + "})", [BLUE, GREEN, GREEN, ORANGE])`

The next step is to factor both terms of the above expression:

`format(HINT1, {del1factors:true, evalBasicNumOps:true})`

Redistribute the common term to get the answer:

`format(SOLUTION, simplifyOptions.basic, false, "large")`