"Factorise" a quadratic
Scala 3, 49 44 bytes
a=&gt;b=&gt;(-b*b to b*b)map(p=&gt;a-p-&gt;p)find(_*_==b)

Try it onlne!
Takes (a)(b) and returns an Option[(Int, Int)]. It's now a little more inefficient since it goes from \$-b^2\$ to \$b^2\$ instead of \$-|b|\$ to \$|b|\$, including values that \$p\$ and \$q\$ could never be, but it saves 4 bytes.
a =&gt; b =&gt;
  (-b*b to b*b)              //Make a range of all possible q's and then some
    map(q =&gt; (a - q, q))     //Make a tuple of (p, q)
    find(_ * _ == b)         //Find a pair such that p * q = b