private bool searchCombination()
        {
            Node <Zero> current       = circularList.head;
            int         countOfSucces = 0;

            do
            {
                CircularLinkedList <Zero> succesZero = new CircularLinkedList <Zero>();
                succesZero.Add(current.Data);
                for (int a = 0; a < circularList.Count; a++)
                {
                    countOfSucces = 0;
                    for (int b = 0; b < succesZero.Count; b++)
                    {
                        if (circularList[a].Data.i != succesZero[b].Data.i & circularList[a].Data.j != succesZero[b].Data.j)
                        {
                            ++countOfSucces;
                        }
                    }
                    if (countOfSucces == succesZero.Count)
                    {
                        succesZero.Add(circularList[a].Data);
                    }
                    if (countOfSucces == matrix.height)
                    {
                        break;
                    }
                }

                if (countOfSucces == matrix.height)
                {
                    foreach (var item in succesZero)
                    {
                        Console.WriteLine((item.i + 1) + " " + (item.j + 1));
                    }
                    return(true);
                }



                current = current.Next;
            } while (current != circularList.head);
            return(false);
        }
 private void zeroSearch()
 {
     for (int i = 0; i < matrix.height; i++)
     {
         for (int j = 0; j < matrix.width; j++)
         {
             if (matrix[i, j] == 0)
             {
                 circularList.Add(new Zero(i, j));
             }
         }
     }
 }