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
), 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.