How does a constant opcode become negative in Script I am doing some tutorial and in this chapter we are suppose to reproduce the Script scripting language

I am struggling to understand one of the exercises, here it is:

Create a ScriptSig that can unlock this ScriptPubKey:
767695935687


and the answer is 0x52 so that :

&gt;&gt;&gt; from script import Script
&gt;&gt;&gt; script_pubkey = Script([0x76, 0x76, 0x95, 0x93, 0x56, 0x87])
&gt;&gt;&gt; script_sig = Script([0x52])
&gt;&gt;&gt; combined_script = script_sig + script_pubkey
&gt;&gt;&gt; print(combined_script.evaluate(0))


and that OP_2 or 52 will satisfy the equation x² + x – 6 = 0.

I guess I get the whole part execution except when the OP_6 is pushed on the stack, how does it become negative ?
I was not sure how it would work there but it is in fact basic arithmetic, we have this x^2 + x = 6 then we substract 6 from both sides x^2 + x - 6 = 6 - 6 then we simplify x^2 + x - 6 = 0