public void Add(LinearEquation a) //добавить уравнение в СЛУ
 {
     if (a.Size - 1 == n)          //если можно добавить => добавляем в конец
     {
         sle.Add(a);
     }
 }
        private int n; //кол-во переменных
        private void Swap(LinearEquation a, LinearEquation b)
        {
            LinearEquation k = new LinearEquation(a); //k=a

            b.CopyTo(a);                              //a=b
            k.CopyTo(b);                              //b=k
        }
        public override bool Equals(object obj)//сравнение
        {
            LinearEquation b = (LinearEquation)obj;

            for (int i = 0; i < Size; ++i)
            {
                if (Math.Abs(this[i] - b[i]) > 1e-9)
                {
                    return(false);
                }
            }
            //если разница между элементами < 1 x 10^(-9) то считаем, что равны
            return(true);
        }
 public void CopyTo(LinearEquation b)//копирование
 {
     b.coeff = coeff.ToList();
 }