def binary_cubic_coefficients_from_invariants(discriminant, invariant_choice='default'):
    """
    Reconstruct a binary cubic from the value of its discriminant.

    INPUT:

    - ``discriminant`` -- The value of the discriminant of the
      binary cubic.

    - ``invariant_choice`` -- The type of invariants provided. The accepted
      options are ``'discriminant'`` and ``'default'``, which are the same. No
      other options are implemented.

    OUTPUT:

    A set of coefficients of a binary cubic, whose discriminant
    is equal to the given ``discriminant`` up to a scaling.

    EXAMPLES::

        sage: from sage.rings.invariants.reconstruction import binary_cubic_coefficients_from_invariants
        sage: coeffs = binary_cubic_coefficients_from_invariants(1)
        sage: coeffs
        (0, 1, -1, 0)
        sage: R.<x> = QQ[]
        sage: R(coeffs).discriminant()
        1

    The two non-equivalent cubics `x^3` and `x^2*z` with discriminant 0 can't
    be distinguished based on their discriminant, hence an error is raised::

        sage: binary_cubic_coefficients_from_invariants(0)
        Traceback (most recent call last):
        ...
        ValueError: no unique reconstruction possible for binary cubics with a double root
    """
    if invariant_choice not in ['default', 'discriminant']:
        raise ValueError('unknown choice of invariants {} for a binary cubic'
                         .format(invariant_choice))
    if discriminant == 0:
        raise ValueError('no unique reconstruction possible for binary '
                         'cubics with a double root')
    else:
        return (0, 1, -1, 0)