# intercept in manually weighed regression

Why does manually weighting a regression require the intercept term to be dropped? Consider a model

$$y=b_0 + b_1x + \epsilon,$$

a simple linear regression. In classically weighted regression only the weights are provided, say min(x)/x. In order to supply the weights manually, e.g. to a regression routine that doesn't handle weighting, a vector of weights is created, the square root of the weights is taken, then that gets multiplied to the y's, a vector of 1's, and the x's. The weighted vector of 1's is then included in the model as part of the x-matrix and the model is fit without an intercept. A parameter estimate is returned for x0 that corresponds to the intercept in a weighted regression, even though this term was not constant, and even though the intercept was omitted. Why is this the case?