Ideally, we want to find all possible forms that could satisfy the function

The trick is eliminating efficiently