Sri Lanka troops kill 42 rebels in northern battles