Numbering the bags from 1 to 100, here is the weighing strategy:
You can succeed using three weighings, and cannot succeed in two:
1. Weigh one coin from each bag.
2. Weigh $i$ coins from the $i^{\,\text{th}}$ bag, for $i=1,2,\dots,100$.
3. Weigh a single coin from bag 51.
To deduce the true bag, let...
$t$ be the weight of a true coin.
$\delta$ be the difference between weight of a fake and true coin.
$i$ be the index of the bag which is full of fakes.
$W_k$ be the outcome of $k^{\,\text{th}}$ weighing.
The weighings give us the following system of equations:
$$\begin{align}W_1&=100t+\delta&\\W_2 &= 5050t+i\delta \\W_3 &= \begin{cases}t & i\neq 51\\t+\delta&i=51\end{cases}\end{align}$$
You can then check that
$$
\frac{5050W_1 - 100W_2}{\hspace{1cm}W_1 - 100W_3} = \begin{cases}5050-100i & i\neq 51\\\frac{50}{99}&i=51\end{cases}
$$
Finally, let $R=\frac{5050W_1 - 100W_2}{W_1 - 100W_3}$.
if $R=50/99$, you conclude that the fake bag is 51.
Otherwise, the fake bag is $i=(5050-R)/100$.
To prove optimality, note that
two weighings would give you a system of two equations, which is not enough to force a unique solution with three unknowns, $t,\delta$ and $i$.