"Division is performed differently in C# and VB. C#, like other C-based languages truncates the division result when both operands are integer literals or integer variables (or integer constants). In VB, you must use the integer division operator (\) to get a similar result."
When you look at the IL-code that those two snippets produce, you'll realize that VB.NET first converts the integer values to doubles, applies the division and then rounds the result before it's converted back to int32 and stored in y.
In C#, integer division is applied with / when both numerator and denomenator are integers. Whereas, in VB.Net '/' results in floating point divsion, so for integer division in VB.Net use \. Have a look at this MSDN post.