public void ExcludeValues(TekMoves moves, TekField field)
 {
     foreach (int value in HeuristicValues)
     {
         if (field.ValuePossible(value))
         {
             moves.ExcludeValue(field, value);
         }
     }
 }
        public void ExcludeComplementValues(TekMoves moves, TekField field)
        {
            List <int> excludingValues = new List <int>();

            foreach (int value in field.PossibleValues)
            {
                if (!HeuristicValues.Contains(value))
                {
                    excludingValues.Add(value);
                }
            }
            foreach (int value in excludingValues)
            {
                if (field.ValuePossible(value))
                {
                    moves.ExcludeValue(field, value);
                }
            }
        }