f(y,c) =

c =

f1(y, c) = y^(3) - (c * y) + 1
InputBox1 = Textfield(f1)
b = 3.7 (slider from -5 to 5)
f2(x) = f1(x, b)
f3(x) = 0
Botbx: x(Corner[2, 1])
Topbx: x(Corner[2, 3])
Botpnt = Corner(1, 1)
Toppnt = Corner(1, 3)
Boty: y(Corner[1, 1])
Topy: y(Corner[1, 3])
bist1: {Intersect[f2, f3, Botbx, Topbx]}
list1: {Intersect[f2, f3, Boty, Topy]}
f4(x, y) = f1(x, y)
eq1: f4(y, x) = 0
eq2: x = b
list2 = If(Defined[Element[list1, 1]], list1, {})
list3 = Insert((Boty, 0), list2, 1)
list4 = Insert((Topy, 0), list3, -1)
jcount = Dimension(list4)
list5 = Sequence((b, x(Element[list4, ii])), ii, 2, jcount - 1)
list6 = Sequence(x(Element[list4, ii]), ii, 1, jcount)
listav = Sequence((Element[list6, jj] + Element[list6, jj + 1]) / 2, jj, 1, jcount - 1)
bump: (0.01 * (x(Toppnt) - x(Botpnt)))
listsign = Sequence(f2(Element[listav, jj]), jj, 1, jcount - 1)
listup = Sequence(If[Element[listsign, jj] - bump > 0, Point[{b, Element[listav, jj]}]], jj, 1, jcount - 1)
listdn = Sequence(If[Element[listsign, jj] + bump < 0, Point[{b, Element[listav, jj]}]], jj, 1, jcount - 1)