Hola,
a ver, yo lo habría pensado de la siguiente forma:
- Se recoge el valor de la ecuación.
- Se recorre este valor String, leyendo carácter a carácter y reconociendo poco a poco si se trata de un coeficiente (número), variable o signo. Para ello programaría un pequeño autómata que reconociera por qué estados se va pasando (número, signo, variable).
Autómata - Youtube. Esta parte sería la más tediosa.
- Cuando se reconoce un tipo de valor, lo guardaría en su correspondiente array o list de números,signos o variables. Así podría distingir dónde está cada uno (y no sólo usando un array como propones).
Espero que te haya ayudado, un saludo.