digits =: 10&#.^:_1 pandigital =: monad define ds =. /:~ digits y ds -: 1 + i. # ds ) solve =: monad define i =. _1 p: y result =. 0 while. result=0 do. if. pandigital p: i do. result =. p: i end. i =. i - 1 end. result ) problem41 =: solve 7654321 NB. Takes too long to start from 987654321