Imports System
Imports System.Collections.Generic
Module Module1
Function GenerateDistinctDigitNumbers(N As Integer, L As Integer) As List(Of Integer)
Dim results As New HashSet(Of Integer)() ' store unique valid numbers
Dim lower As Integer = CInt(Math.Pow(10, L - 1)) ' smallest L-digit number
Dim upper As Integer = CInt(Math.Pow(10, L)) - 1 ' largest L-digit number
Dim rnd As New Random() ' random number generator
' keep generating until we have N distinct-digit numbers
While results.Count < N
Dim num As Integer = rnd.Next(lower, upper + 1)
Dim s As String = num.ToString()
' check if all digits are unique
Dim digitSet As New HashSet(Of Char)(s)
If digitSet.Count = L Then
results.Add(num)
End If
End While
Return New List(Of Integer)(results)
End Function
Sub Main()
Dim nums = GenerateDistinctDigitNumbers(10, 6)
Console.WriteLine(String.Join(", ", nums))
End Sub
End Module
' run:
'
' 793182, 140769, 208369, 756421, 905147, 632048, 524618, 769185, 729654, 319025
'