A super-d number is a positive, decimal (base ten) integer   n   such that   d × nd   has at least   d   consecutive digits   d   where

   2 ≤ d ≤ 9

For instance, 753 is a super-3 number because 3 × 7533 = 1280873331.


Super-d   numbers are also shown on   MathWorld™   as   super-d    or   super-d.



Task

 Write a function/procedure/routine to find super-d numbers.
 For   d=2   through   d=6,   use the routine to show the first   10   super-d numbers.


Extra credit

 Show the first   10   super-7, super-8, and/or super-9 numbers   (optional).


See also

   Wolfram MathWorld - Super-d Number.
   OEIS: A014569 - Super-3 Numbers.


import sequtils, strutils, times
import bignum
 
iterator superDNumbers(d, maxCount: Positive): Natural =
  var count = 0
  var n = 2
  let e = culong(d)   # Bignum ^ requires a culong as exponent.
  let pattern = repeat(chr(d + ord('0')), d)
  while count != maxCount:
    if pattern in $(d * n ^ e):
      yield n
      inc count
    inc n, 1
 
let t0 = getTime()
for d in 2..9:
  echo "First 10 super-$# numbers:".format(d)
  echo toSeq(superDNumbers(d, 10)).join(" ")
echo "Time: ", getTime() - t0