You might investigate the PolyLineTo (geometry) row type, with the corresponding PolyLine function. This allows you to "blast" a list of x,y points into a single
ShapeSheet cell to get a many-vertexed shape.
This could also double as the data-storage for your numerical solution, although you won't be able to get at the individual points from ShapeSheet functions.
But the same list of points could be used in a BOUND function to constrain the x-position of the control-handle to only the data that you input into the shape. Then, you could use INDEX and LOOKUP functions to get the y-value for a given x value.
Are your x-values always at a constant dx interval? If so, then you could know that you are at the ith point, and look up the ith y-value, if that makes any sense.
The ShapeSheet is a spreadsheet, so you will probably have to have lots of rows and lists of lots of points. Your solution so far actually works fairly well. It might not be pretty inside, but it seems to work fairly smoothly!