my $step = 9 * 8 * 7;                               

my $initial = int(9876432 / $step) * $step;         

for($test = $initial; $test > 0 ; $test -= $step) { 
    next if $test =~ /[05]/;                        
    next if $test =~ /(.).*\1/;                     

    for (split '', $test) {                         
        next unless ($test / $_) % 1;
    }

    printf "Found $test after%d steps\n", ($initial-$test)/$step;
    for (split '', $test) {
       printf "%s /%s =%s\n", $test, $_, $test / $_;
    }
    last
}