public SudokuNodePileNode(SudokuNode node)
 {
     base.Value = node.Value;
     base.Coordinate = node.Coordinate;
     this.next = null;
     this.previous = null;
 }
 public bool SearchNodeList(SudokuNodeArray array, SudokuNode node)
 {
     foreach (SudokuNode n in array.Nodes)
     {
         if (!n.Coordinate.Compare(node.Coordinate) && n.Value == node.Value) return true;
     }
     return false;
 }
 public SudokuNodePileNode(int value, Coordinate coordinate)
 {
     base.Value = value;
     base.Coordinate = coordinate;
     this.next = null;
     this.previous = null;
 }
 public SudokuNodePile(SudokuNode node)
 {
     SudokuNodePileNode n = new SudokuNodePileNode(node);
     this.head = n;
     this.tail = n;
 }
 public SudokuNodeArray(SudokuNode[] nodes)
 {
     this.nodes = nodes;
 }