Public Sub GenerateGrid()
Clear() '1:Clear
Dim Squares(80) As Square '2:Square
Dim Available(80) As List(Of Integer)
Dim c As Integer = 0
For x As Integer = 0 To Available.Length - 1
Available(x) = New List(Of Integer)
For i As Integer = 1 To 9
Available(x).Add(i)
Next
Next
Do Until c = 81
A: Dim i As Integer = GetRan(0, Available(c).Count - 1) '3:GetRan
If Not Available(c).Count = 0 Then
Dim z As Integer = Available(c).Item(i)
If Conflicts(Squares, Item(c, z)) = False Then '4:Conflict
Squares(c) = Item(c, z) '5:Item
Available(c).RemoveAt(i)
c += 1
Else
Available(c).RemoveAt(i)
GoTo A
End If
Else
For y As Integer = 1 To 9
Available(c).Add(y)
Next
Squares(c - 1) = Nothing
c -= 1
GoTo A
End If
Loop
Dim j As Integer
For j = 0 To 80
Sudoku.Add(Squares(j))
Next
End Sub