The cheapest way between Warsaw and Vilnius is the train. The journey take about 9½ hours and costs 20.60 € (about 78 LTL or PLN). There is only one daily train, look at the timetable from Polish railways.
The cheapest bus between Vilnius and Warsaw is the night bus operated by the railway company. The major advantage besides the price is that arrives/departes in front of Warsaw Central Station (Warszawa Centralna) and not from the bus station, which is quite far from the citz centre, like the other buses. You can buy tickets for that bus only at the international ticket counter in the railway station. Timetable under Polish railways.
Otherwise you can take as well Eurolines (LT/PL) or Ecolines.
Note that the buses between Poland and Lithuania usually arrive at their destination one to two hours before the scheduled time. All scheduled times are usually local times. Don't forget that Lithuania is one hour ahead of Poland.
There is only one daily night bus between Vilnius and Gdansk operated by Eurolines (LT/PL). If you like to go by train the fastes way is via Warszawa. It's also possible to go more or less straight by train via Suwalki and Olsztyn, but you'll have to stopover at least one night in North-Eastern Poland.