public void TestGCD()
        {
            //throw new NotImplementedException();

            string polyString1 = "X^4 + 8*X^3 + 21*X^2 + 22*X + 8";                 //"X^4 + 8*X^3 + 21*X^2 + 22*X + 8";
            string polyString2 = "X^3 + 6*X^2 + 11*X + 6";                          //"X^3 + 6*X^2 + 11*X + 6";
            string expected    = "X^2 + 3*X + 2";                                   //"X^2 + 3*X + 2";

            MultivariatePolynomial poly1 = MultivariatePolynomial.Parse(polyString1);
            MultivariatePolynomial poly2 = MultivariatePolynomial.Parse(polyString2);
            MultivariatePolynomial gcd   = MultivariatePolynomial.GCD(poly1, poly2);

            string actual = gcd.ToString();

            TestContext.WriteLine($"Expected: \"{expected}\"; Actual: \"{actual}\"");
            Assert.AreEqual(expected, actual, $"Test of: MultivariatePolynomial.GCD({polyString1}, {polyString2});");
        }