Brain-Flak, 68 bytes
({({({})({}[()])}{}<>)<>})<>({<(({}){}<>[({})])>(){[()](<{}>)}{}<>})
Uses the observation in user202729's answer.
{ } for each input number
{({})({}[()])}{} compute the square
( <>)<> push onto second stack
( ) push sum of squares onto first stack
<> move to second stack
{ } for each square
(({}){}<>[({})]) compute 2 * this square - sum of squares
< >(){[()](<{}>)}{}<> evaluate loop iteration as 1 iff equal
( ) push 1 if any squares matched, 0 otherwise
Brain-Flak, 68 bytes
({({({})({}[()])}{}<>)<>})<>({<(({}){}<>[({})])>(){[()](<{}>)}{}<>})
Brain-Flak, 68 bytes
({({({})({}[()])}{}<>)<>})<>({<(({}){}<>[({})])>(){[()](<{}>)}{}<>})
Uses the observation in user202729's answer.
{ } for each input number
{({})({}[()])}{} compute the square
( <>)<> push onto second stack
( ) push sum of squares onto first stack
<> move to second stack
{ } for each square
(({}){}<>[({})]) compute 2 * this square - sum of squares
< >(){[()](<{}>)}{}<> evaluate loop iteration as 1 iff equal
( ) push 1 if any squares matched, 0 otherwise
Brain-Flak, 68 bytes
({({({})({}[()])}{}<>)<>})<>({<(({}){}<>[({})])>(){[()](<{}>)}{}<>})