Por lo que entiendo, si por ejemplo eliges los valores 1,3,5,7,9 al referirte a con repeticion entiendo que 11111, 11113, 31111,... todas son válidas y si es así tengo por ahí guardado un algoritmo de fuerza bruta usando arrais de caracteres que te vendría perfecto ya que le introduces los 5 valores y se guardan en el array y luego trabaja con las posiciones del array para obtener todas sus combinaciones posibles.
Aquí el tema donde se ve dicho código.:
http://www.clubdelphi.com/foros/show...t=86900&page=2