Wow, we have the same hardware except for the monitor (yours is better). Anyway some rare monitors report having lower resolution (at least 1 resolution lower) than the maximum they support. I have a 1920x1080 TV that only works correctly up to 1680x1050.
My guess is to start playing with
xrandr. For example, assuming your monitor is VGA-0 and the resolution you want is 1366x768, then do the following in a terminal:
xrandr --addmode VGA-0 1366x768
xrandr --newmode "1366x768_60"
Play using the --addmode and --newmode settings until you get the one you want. Remember to change the refresh rate also. I put 60 here but could be 50, 55 or other ones for the maximum resolution.
Citing the information from HERE we have this:
Adding undetected resolutions
Due to buggy hardware or drivers, your monitor's correct resolutions may not always be detected. For example, the EDID data block queried from your monitor may be incorrect.
If the mode already exists, but just isn't associated for the particular output, you can add it like this:
$ xrandr --addmode S-video 800x600
If the mode doesn't yet exist, you'll need to create it first by specifying a modeline:
$ xrandr --newmode <Mode``Line>
You may create a modeline using the gtf or cvt utility. For example, if you want to add a mode with resolution 800x600 at 60 Hz, you can enter the following command: (The output is shown following.)
$ cvt 800 600 60
# 800x600 59.86 Hz (CVT 0.48M3) hsync: 37.35 kHz; pclk: 38.25 MHz
Modeline "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
Then copy the information after the word "Modeline" into the xrandr command:
$ xrandr --newmode "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
After the mode is entered, it needs to be added to the output using the --addmode command as explained above.
There is also a section about Setting xrandr changes persistently which can help if the resolution you set does not stay after you reboot.