It's because the input field is padded; you need to add:
#content input
{
padding: 0px;
}
You'll now see that the box is 2px too wide (901px) for the div (899px). This usually means that there is an extra 1px hiding somewhere on two or more sides. It happens to be your border (because when we add border: 0px to #content input it returns to 899px wide). Experiment with widths and broder-sizes until it works for you.
I develop with the Chrome inspector, an invaluable tool for debugging CSS (among many other things) — it highlights and colour-codes many useful CSS properties like margins and paddings. It will also show you struck-out CSS properties for elements which have been overridden by cascaded styles (which I suspect was the trap here).

Also, assuming Uno, Dos, etc are column headers, you'll want to structure your table like this:
<table id="statistics">
<thead>
<tr>
<th scope="col">Uno</th>
<th scope="col">Dos</th>
<th scope="col">Tres</th>
<th scope="col">Cuarto</th>
<th scope="col">Cinco</th>
</tr>
</thead>
<tbody>
<tr>
<td>#</td>
<td>#</td>
<td>#</td>
<td>#</td>
<td class="final">#</td>
</tr>
</tbody>
</table>
This is both more standards-compliant, and will allow you to more easily style your column headers (i.e., table thead tr th { special-style }) without applying special classes.