This paper studies the capacity of the general Gaussian broadcast channel with states non-causally known at the transmitter. This channel is obtained from the two-user Gaussian broadcast channel by further considering the presence of an additive state sequence in each channel output. Having anti-causal knowledge of both the channel state sequences, the transmitter wishes to reliably communicate both a common and a private message to each receiver. This channel is the natural compounding of the Gaussian broadcast channel and the 'writing on dirty' paper channel and it addresses the question of how the transmitter can best simultaneously pre-code its transmissions against the different state realization at the two receivers. We introduce novel inner and outer bounds and derive the approximate capacity to within 3 bits per channel use for the model with independent, Gaussian distributed channel states. This result extends a number of results previously available in the literature, thus providing a general framework to understand state pre-cancellation in multiuser settings.