We solve several problems on frequently hypercyclic operators. Firstly, we
characterize frequently hypercyclic weighted shifts on ℓp(Z),
p≥1. Our method uses properties of the difference set of a set with
positive upper density. Secondly, we show that there exists an operator which
is U-frequently hypercyclic, yet not frequently hypercyclic and that
there exists an operator which is frequently hypercyclic, yet not
distributionally chaotic. These (surprizing) counterexamples are given by
weighted shifts on c0. The construction of these shifts lies on the
construction of sets of positive integers whose difference sets have very
specific properties