The way I usually solve these problems is by using trial and error. A good way to find out about where your numbers are is by finding the square root of that number. The square root of 306 is about 17.5, so I would start with 16 and 17. 17*16=272, so I would know I had to go higher. I would then try 17*18 which equals 306. Because you need the numbers to be negative, you would make both of those numbers negative. The two integers would then be -17 and -18.
18 and 17. To solve this it helps to try numbers that when they multiply together will get a units digit that you need, for example, 8*7=56, and 6 is the last number needed, and 8*7 is too small, so try 18*17. There is a chance one would have tried numbers ending in 2 and 3 but none work.
I understand some of this, like the last question. if each class had 24 pupil, and were trying to find out how many are in each class, it would be 24x (x stands for the amount of classes)
You have not given a true amount of pupils so I can not give a 100% correct answer for the first part.