/// <summary>
        /// Multiplies two polynomials
        /// </summary>
        /// <param name="a">The first multiplier</param>
        /// <param name="b">The second multiplier</param>
        /// <returns></returns>
        public static Polynomial Multiply(Polynomial a, Polynomial b) {
            if (a == null)
                throw new ArgumentNullException(nameof(a));
            if (b == null)
                throw new ArgumentNullException(nameof(b));

            Polynomial result = new Polynomial(new double[0]);

            for( int i = 0; i <= a.Degree ; i++ ) 
                result += b.Multiply(a[i], i);
            
            return result;
        }