randFromArray(smallDenominators) randFromArray(smallDenominators)
randRangeExclude(1, 9, [D1]) randRangeExclude(1, 9, [D2]) getLCM(D1, D2) LCM / D1 LCM / D2 getGCD(F1 * N1 - F2 * N2, LCM)

fraction(N1, D1) - fraction(N2, D2) = {?}

N1 / D1 - N2 / D2

\qquad = \blue{\dfrac{N1 \times F1}{D1 \times F1}} - \green{\dfrac{N2 \times F2}{D2 \times F2}}

\qquad = \blue{\dfrac{N1 * F1}{LCM}} - \green{\dfrac{N2 * F2}{LCM}}

\qquad = \dfrac{\blue{N1 * F1} - \green{N2 * F2}}{LCM}

\qquad = fraction(F1 * N1 - F2 * N2, LCM)

\qquad = fractionReduce(F1 * N1 - F2 * N2, LCM)