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 BigInt
import Foundation
 
let rd = ["22", "333", "4444", "55555", "666666", "7777777", "88888888", "999999999"]
 
for d in 2...9 {
  print("First 10 super-\(d) numbers:")
 
  var count = 0
  var n = BigInt(3)
  var k = BigInt(0)
 
  while true {
    k = n.power(d)
    k *= BigInt(d)
 
    if let _ = String(k).range(of: rd[d - 2]) {
      count += 1
 
      print(n, terminator: " ")
      fflush(stdout)
 
      guard count < 10 else {
        break
      }
    }
 
    n += 1
  }
 
  print()
  print()
}