Kaprekar Project Description

Here's the text of the description of the project I had submitted for registering the Kaprekar Series Generator on Sourceforge:

I had stored this description in a text file. The file is dated May 7th, 2001 4:46 pm

D. R. Kaprekar found an interesting behaviour of four-digit number (say, 6349). Take any number; sort its digits in ascending (3469) and descinding (9643) order; subtract these (9643 - 3469 = 6174). Repeat these steps a couple of times. Surprisingly, you'll always end up with the number 6174.

A similar behaviour is observed in case of 3-digit numbers - the final number being 495 in this case.

For 2-digit numbers, its even more interesting - in loops through a series of numbers: 81 -> 63 -> 27 -> 45 -> 09.

This project would help you in finding out all the Series for a specified number of digits.

Language: Java (Plan to port it to C++ later)
Field: Mathematics (Number Theory)
First Release URL: http://sites.netscape.net/conradroche/Kaprekar/KaprekarSeries.html
This project is aimed at finding out all the Kaprekar Series for a given number of digits.

What's already done:
The code to generate the Kaprekar Series is already ready.

What's pending:
-> Make it more efficient. Right now finding all the series for 34-digit numbers takes around an hour - have to make it faster.
-> The release 1.0 allows only upto Integer.MAX_VALUE digits - due to the limitation of an array index; need to modify the classes so that it can handle even the bigger number.
-> Add classes to find the statistical aspects of Kaprekar Series (for eg. what is the maximum number of iterations taken, for a specified number of digits, to reach a Kaprekar Series.
-> Write method to read an XML file with Kaprekar Series data (method to create the XML is already ready).