I don't know any program like that. Maybe it exists, but I don't know. Never seen one before.
So is this possible in pure TI-Basic?
Everything is possible with any language. TI-Basic's problem is speed, but it can handle everything.
Also, Symbolic has a built-in derivation algorithm. I am not telling you to use it, but at least, with it you could test the other parts of your program (to check if your own derivation algorithm was correct and if what comes next uses it well). Or you can even use Symbolic's one. Do what you want, in fact
I can't wait to see what you're going to do with this