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 std.bigint;
import std.conv;
import std.stdio;
import std.string;
 
void main() {
    auto rd = ["22", "333", "4444", "55555", "666666", "7777777", "88888888", "999999999"];
    BigInt one = 1;
    BigInt nine = 9;
 
    for (int ii = 2; ii <= 9; ii++) {
        writefln("First 10 super-%d numbers:", ii);
        auto count = 0;
 
        inner:
        for (BigInt j = 3; ; j++) {
            auto k = ii * j ^^ ii;
            auto ix = k.to!string.indexOf(rd[ii-2]);
            if (ix >= 0) {
                count++;
                write(j, ' ');
                if (count == 10) {
                    writeln();
                    writeln();
                    break inner;
                }
            }
        }
    }
}