You are talking about a manual watchdog timer system. There are low cost and free systems to do things like this - a search for network and application monitors will turn them up.
Its way better to try to address why the core program dies that patch around it this way but as that's not always easy (or cost effective if the code is out of maintenance) then just create a small program that checks if the core app is running and restart it if its not. This can be run from the system scheduler every few minutes.
If you have no way to tell the program has died (other than users shouting) then you could look to send an email to a mailbox that's monitored by a background program and restart when it gets one.
Another way is to create a simple web page that is hosted on a box and use that to trigger the reset.