Sort the digits to 'wxyz', where each letter is a 0-9 digit.
'wxyz' - 'zyxw' = 999(w - z) + 90(x - y)
w - z is between 1 and 9, since w > z (we have ruled out numbers like 1111). x - y is between 0 and 9. So there are at most 90 such numbers. In fact there are fewer because x-y <= w-z.
This is why there are many collisions in the first step.
A similar constant for 3 digits is 495.[7] However, in base 10 a single such constant only exists for numbers of 3 or 4 digits; for other digit lengths or bases other than 10, the Kaprekar's routine algorithm described above may in general terminate in multiple different constants or repeated cycles, depending on the starting value
'wxyz' - 'zyxw' = 999(w - z) + 90(x - y)
w - z is between 1 and 9, since w > z (we have ruled out numbers like 1111). x - y is between 0 and 9. So there are at most 90 such numbers. In fact there are fewer because x-y <= w-z.
This is why there are many collisions in the first step.
length 3: fixed-point 495 length 5: 2-cycle containing 59994 length 6: fixed-point 59994
Similarly for digits 6, 1, 4, 7:
length 4: 6174 length 5: 4-cycle containing 61974 length 6: fixed-point 631764
A similar constant for 3 digits is 495.[7] However, in base 10 a single such constant only exists for numbers of 3 or 4 digits; for other digit lengths or bases other than 10, the Kaprekar's routine algorithm described above may in general terminate in multiple different constants or repeated cycles, depending on the starting value