16 bits = two bytes = number in range 0 - 65535, signed is half of that range, in both directions +/-.
I think, this task i a quite challenge , because 16 bits and this kind'a equation: X³ -11X² +98X - 24.
If equation is unsigned and we put such a small number as 40 in X, so X³ is already 64000.
So, now try to assign X some number like 656 and then try to solve it with 16 bit arithmetic. :D
Solution for this task depends on, in what range X is expected to vary.
If X is 41, then X³ is already out of unsigned 16 bit number bounds.
Did it worked in 32 bit version? Then just cut everything in half, and it should work.
So, now, after cut, if 16 bit is not working well, then 32 bit also is not working.
Only problem that can be, is, to work out that - multiplication.