//public KeyValuePair<int, int> proportion { get; protected set; }
        //public double dictatedProportion { get; protected set; }

        public SegmentRatioEquation(SegmentRatio ell, SegmentRatio r) : base()
        {
            if (!ell.ProportionallyEquals(r))
            {
                throw new ArgumentException("Ratios of segments are not proportionally equal: " + ell + " " + r);
            }

            lhs = ell;
            rhs = r;

            segments = new List <Segment>();
            segments.Add(lhs.smallerSegment);
            segments.Add(lhs.largerSegment);
            segments.Add(rhs.smallerSegment);
            segments.Add(rhs.largerSegment);
        }
        //public KeyValuePair<int, int> proportion { get; protected set; }
        //public double dictatedProportion { get; protected set; }
        public SegmentRatioEquation(SegmentRatio ell, SegmentRatio r)
            : base()
        {
            if (!ell.ProportionallyEquals(r))
            {
                throw new ArgumentException("Ratios of segments are not proportionally equal: " + ell + " " + r);
            }

            lhs = ell;
            rhs = r;

            segments = new List<Segment>();
            segments.Add(lhs.smallerSegment);
            segments.Add(lhs.largerSegment);
            segments.Add(rhs.smallerSegment);
            segments.Add(rhs.largerSegment);
        }