It follows that the total number of steps in our algorithm will be linear in X, and in fact approximately times more than the number of fields that we have to find, hence there is very little waste.
We could still gain a little by avoiding the empty loops that we have mentioned. For this, we would need to find the exact range of values of a, then of b given a, and finally of c, given a and b. The result involves a very large number of cases and algebraic equations of large degree, and the gain is marginal, hence we do not do it. We can also easily characterize subclasses of real cubic fields. For example, we have the following:
Let K be a totally real cubic number field, the unique reduced form associated to K and its Hessian. Then: