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.


with javascript_semantics
include mpfr.e
 
procedure main()
    atom t0 = time()
    mpz k = mpz_init()
    for i=2 to iff(platform()=JS?7:9) do
        printf(1,"First 10 super-%d numbers:\n", i)
        integer count := 0, j = 3
        string tgt = repeat('0'+i,i)
        while count<10 do
            mpz_ui_pow_ui(k,j,i)
            mpz_mul_si(k,k,i)
            string s = mpz_get_str(k)
            integer ix = match(tgt,s)
            if ix then
                count += 1
                printf(1,"%d ", j)
            end if
            j += 1
        end while
        printf(1,"\nfound in %s\n\n", {elapsed(time()-t0)})
    end for
end procedure
main()
