Es que, para empezar, debes olvidarte de todo lo que sea manejo de cadenas de texto, presentación en pantalla, labels, edits, listview, etc.
Tienes que optimizar/afinar muchísimo si quieres que funcione de forma ágil.
Si vas a trabajar con números, entonces usa integer. Si vas a necesitar un grupo de ellos, entonces usa un array de integer. Y mejor aún, punteros a array de integer.
Empieza por hacer un prototipo simple, lo más simple y elemental posible, y a ser posible con papel y lápiz. Este es un tema muy estudiado, y muchas personas por el mundo han propuesto "soluciones" muy diversas, es algo muy complejo (si fuese fácil, todos seríamos millonarios
![Big Grin](http://www.clubdelphi.com/foros/images/smilies/biggrin.gif)
), por lo que hay que afinar al máximo. Debes tener una base/estructura muy bien depurada para luego trabajar sobre ella con todo lo nuevo que se te ocurra añadir o probar.
Puedes buscar por internet algunos proyectos similares a los que quieres hacer y verás que no tiene mucho que ver con la forma en que estás atacando el problema. Échales un vistazo, te lo aconsejo.