Fifty Shades of Grey Boys and girls are excited to see Fifty Shades of Grey on the silver screen, we just want to code without being bothered, so here's a challenge to pick our brain.

You have to:


Print on the screen fifty squares filled each with a different shade of grey
If your language of choice lacks image processing capabilities, you could output an image file
Squares must be visible, at least 20 x 20 pixels 
You cannot use random numbers unless you make sure each shade is unique.
You cannot connect to any service over any network
You cannot read any files in your program.
You cannot use any libraries out of the standard libraries of your language of choice.


This is code golf so shortest code wins.
Mathematica, 30 bytes

Here is another Mathematica approach:

ArrayPlot[#+5#2&amp;~Array~{5,10}]




or

ArrayPlot[5#+#2&amp;~Array~{10,5}]




The first one simply creates an array

{{6, 11, 16, 21, 26, 31, 36, 41, 46, 51}, 
 {7, 12, 17, 22, 27, 32, 37, 42, 47, 52}, 
 {8, 13, 18, 23, 28, 33, 38, 43, 48, 53}, 
 {9, 14, 19, 24, 29, 34, 39, 44, 49, 54}, 
 {10, 15, 20, 25, 30, 35, 40, 45, 50, 55}}


and the second one

{{6, 7, 8, 9, 10},
 {11, 12, 13, 14, 15},
 {16, 17, 18, 19, 20},
 {21, 22, 23, 24, 25},
 {26, 27, 28, 29, 30},
 {31, 32, 33, 34, 35},
 {36, 37, 38, 39, 40},
 {41, 42, 43, 44, 45},
 {46, 47, 48, 49, 50},
 {51, 52, 53, 54, 55}}


Then, ArrayPlot plots them as a grid and, by default, uses greyscale to visualise the values.