randRange( 1, 10 ) randRange( 1, 10 ) 0 randRangeWeighted( 1, 3, 1, 0.5 ) * randRangeNonZero( -1, 1 ) INDEX === 0 ? -1 * Z1 : randRangeWeighted( -4, 4, -1, 0 ) * Z1 randRange( 2, 6 ) * randRangeNonZero( -1, 1 ) randRange( 2, 6 ) * randRangeNonZero( -1, 1 ) randRange( 2, 6 ) * randRangeNonZero( -1, 1 ) randRange( 2, 6 ) * randRangeNonZero( -1, 1 )
[ Z1, Z1, Z2, Z5 ][ INDEX ] Z3 A1 * X + B1 * Y [ Z2, Z2, Z1, Z6 ][ INDEX ] Z4 A2 * X + B2 * Y [ 1, -A2 / A1, 1, A2 > 0 && A1 < 0 ? A2 : -A2 ][ INDEX ] [ 1, 1, -A1 / A2, A2 > 0 && A1 < 0 ? -A1 : A1 ][ INDEX ] B1 * Y > 0 ? "-" : "+" B2 * Y > 0 ? "-" : "+"

Solve for x and y using elimination.

\color{BLUE}{expr(["+", ["*", A1, "x"], ["*", B1, "y"]]) = C1}
expr(["+", ["*", A2, "x"], ["*", B2, "y"]]) = C2

x = X

y = Y

We can eliminate x by adding the equations together when the x coefficients have opposite signs.

Add the equations together. Notice that the terms expr(["*", A1, "x"]) and expr(["*", A2, "x"]) cancel out.

expr(["*", B1 * MULT1 + B2 * MULT2, "y"]) = C1 * MULT1 + C2 * MULT2

\dfrac{expr(["*", B1 * MULT1 + B2 * MULT2, "y"])}{\color{BLUE}{B1 * MULT1 + B2 * MULT2}} = \dfrac{C1 * MULT1 + C2 * MULT2}{\color{BLUE}{B1 * MULT1 + B2 * MULT2}}

\color{ORANGE}{y = Y}

Now that you know \color{ORANGE}{y = Y}, plug it back into \thinspace \color{BLUE}{expr(["+", ["*", A1, "x"], ["*", B1, "y"]]) = C1}\thinspace to find x.

\color{BLUE}{expr(["*", A1, "x"]) + B1-}\color{ORANGE}{(Y)}\color{BLUE}{= C1}

expr(["+", ["*", A1, "x"], B1 * Y]) = C1

expr(["+", ["*", A1, "x"], B1 * Y])\color{BLUE}{SIGN_1abs( B1 * Y )} = C1\color{BLUE}{SIGN_1abs( B1 * Y )}

expr(["*", A1, "x"]) = C1 - B1 * Y

\dfrac{expr(["*", A1, "x"])}{\color{BLUE}{A1}} = \dfrac{C1 - B1 * Y}{\color{BLUE}{A1}}

\color{red}{x = X}

You can also plug \color{ORANGE}{y = Y} into \thinspace \color{GREEN}{expr(["+", ["*", A2, "x"], ["*", B2, "y"]]) = C2}\thinspace and get the same answer for x:

\color{GREEN}{expr(["*", A2, "x"]) + B2-}\color{ORANGE}{(Y)}\color{GREEN}{= C2}

\color{red}{x = X}

Z3 [ Z1, Z1, Z2, Z5 ][ INDEX ] A1 * X + B1 * Y Z4 [ Z2, Z2, Z1, Z6 ][ INDEX ] A2 * X + B2 * Y [ 1, -B2 / B1, 1, B2 > 0 && B1 < 0 ? B2 : -B2 ][ INDEX ] [ 1, 1, -B1 / B2, B2 > 0 && B1 < 0 ? -B1 : B1 ][ INDEX ] A1 * X > 0 ? "-" : "+" A2 * X > 0 ? "-" : "+"

Solve for x and y using elimination.

\color{BLUE}{expr(["+", ["*", A1, "x"], ["*", B1, "y"]]) = C1}
expr(["+", ["*", A2, "x"], ["*", B2, "y"]]) = C2

x = X

y = Y

We can eliminate y by adding the equations together when the y coefficients have opposite signs.

Add the equations together. Notice that the terms expr(["*", B1, "y"]) and expr(["*", B2, "y"]) cancel out.

expr(["*", A1 * MULT1 + A2 * MULT2, "x"]) = C1 * MULT1 + C2 * MULT2

\dfrac{expr(["*", A1 * MULT1 + A2 * MULT2, "x"])}{\color{BLUE}{A1 * MULT1 + A2 * MULT2}} = \dfrac{C1 * MULT1 + C2 * MULT2}{\color{BLUE}{A1 * MULT1 + A2 * MULT2}}

\color{red}{x = X}

Now that you know \color{red}{x = X}, plug it back into \thinspace \color{BLUE}{expr(["+", ["*", A1, "x"], ["*", B1, "y"]]) = C1}\thinspace to find y.

\color{BLUE}{A1-}\color{red}{(X)}\color{BLUE}{ + expr(["*", B1, "y"]) = C1}

expr(["+", A1 * X, ["*", B1, "y"]]) = C1

A1 * X\color{BLUE}{SIGN_1abs( A1 * X )} + expr(["*", B1, "y"]) = C1\color{BLUE}{SIGN_1abs( A1 * X )}

expr(["*", B1, "y"]) = C1 - A1 * X

\dfrac{expr(["*", B1, "y"])}{\color{BLUE}{B1}} = \dfrac{C1 - A1 * X}{\color{BLUE}{B1}}

\color{ORANGE}{y = Y}

You can also plug \color{red}{x = X} into \thinspace \color{GREEN}{expr(["+", ["*", A2, "x"], ["*", B2, "y"]]) = C2}\thinspace and get the same answer for y:

\color{GREEN}{A2-}\color{red}{(X)}\color{GREEN}{ + expr(["*", B2, "y"]) = C2}

\color{ORANGE}{y = Y}